我必须使用openCV访问图像中的像素,但起初我无法执行操作,因为python告诉我要访问的值超出范围。
然后我搜索了此错误,发现应该使用image[y, x]
而不是image[x, y]
访问像素。
我在本页注释中找到了这条信息,但没有解释: https://www.pyimagesearch.com/2016/02/01/opencv-center-of-contour/
Adrian Rosebrock,2016年2月12日,下午3:19#: 在OpenCV + NumPy中访问像素值时,实际上是按(y,x)顺序而不是(x,y)顺序指定它们。因此,您需要使用:image [cY,cX]
所以,问题是...为什么在尝试访问像素时为什么要反转坐标?
答案 0 :(得分:0)
在评论中找到答案。这与语言存储矩阵的方式有关:
除了Fortran之外,大多数语言都以行优先的顺序存储矩阵, 因此索引是行,列,又名y,x。 – Paul R 2月6日8:30