兵马逐浪去,将象入海流。炮声震心动,惊起卧龙游。
我的博客园主页 --------- 我的知乎主页 --------- 我的github主页 --------- 我的csdn主页 --------- 我的新浪微博

对于.at<uchar>(j, i) 和.at<uchar>(Point(j, i)) 的区别

转载致谢:https://blog.csdn.net/qq_37764129/article/details/82144406

  1. srcImage.at<uchar>(j, i) //表示的是 j 行 i 列 的这个像素
  2.  
    srcImage.at<uchar>(Point(j, i)) //表示的是 坐标(j,i)的像素

为了我下面的图方便说明 j 换成 x , i 换成 y 。也就是说:

  1.  
    srcImage.at<uchar>(x, y) //表示的是 x 行 y 列 的这个像素
  2.  
    srcImage.at<uchar>(Point(x, y)) //表示的是 坐标(x,y)的像素

可能就会有人不明白了,有什么区别呢?? 
先上一幅图 

 

 


问图中红点的坐标是? (2,1) 还是 (1,2)? 
答案是(2,1)! 
为什么? 看清了 我问的是坐标!! 
那么(2,1) 和 (1,2)究竟有什么不同? 
(2,1)表示的是红点的坐标,就是红点的 x 坐标是 2, y 坐标是 1。 
(1,2)表示的是红点的行和列,就是红点的行是1,列是2,也就是红点在第 1 行,第 2 列。 
这下子我相信大家都明白这两者的区别了吧

    1.  
      srcImage.at<uchar>(j, i)
    2.  
      srcImage.at<uchar>(Point(j, i))
 
posted @ 2020-12-15 10:20  leoking01  阅读(392)  评论(0编辑  收藏  举报
#back-to-top { background-color: #00CD00; bottom: 0; box-shadow: 0 0 6px #00CD00; color: #444444; padding: 10px 10px; position: fixed; right: 50px; cursor: pointer; }