我必须使用 openCV 访问图像中的像素,但一开始我无法访问,因为 python 告诉我我想要访问的值超出范围。
然后我搜索了这个错误,我发现我应该使用访问像素image[y, x]
代替image[x, y]
.
我在这个页面的评论中找到了这条信息,但是没有任何解释:https://www.pyimagesearch.com/2016/02/01/opencv-center-of-contour/ https://www.pyimagesearch.com/2016/02/01/opencv-center-of-contour/
阿德里安·罗斯布洛克 2016 年 2 月 12 日下午 3:19 #:
当在 OpenCV + NumPy 中访问像素值时,您实际上是按 (y, x) 顺序而不是 (x, y) 顺序指定它们。因此,您需要使用: image[cY, cX]
所以,问题是......为什么我应该在尝试访问像素时反转坐标?
在评论中寻找答案。它与语言如何存储矩阵有关:
除了 Fortran 之外,大多数语言都按行优先顺序存储矩阵,
所以索引是行、列,又名 y、x。 – Paul R 2 月 6 日 8:30
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)