我需要使用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]`。
那么问题是...为什么访问像素时应该反转坐标轴?
我在这个页面的注释中找到了这条信息,但没有解释: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]`。
那么问题是...为什么访问像素时应该反转坐标轴?
(行,列)
。然而,对于点,它们使用笛卡尔坐标系,即(x,y)
。在开始时可能有些混淆。 - api55