OpenCV图像高宽及坐标的转换问题——cv2.resize()/cv2.warpAffine()

在计算机中,图像是以矩阵的形式保存的。一张 宽×高×颜色通道=256×640×3 的图片会保存在一个 640×256×3 的三维矩阵中。我们习惯的坐标表示为(x,y),在OpenCV中对图像处理时的坐标表示为(y,x),即img.shape返回的是( 高度,宽度 )=(y,x)。然而cv2.resize(),cv2.warpAffine()函数的dstdsize参数输入是 (宽度,高度),与img.shape相反。这里一定要注意!!很容易出错

img[50,10]也不是表示(x,y)为(50,10)的那个像素,与img.shape的原理相同,它表示的也是(y,x),即表示第50列第10行的那个元素。

坐标体系中的原点为图片的左上角,X轴为图像上边界水平线;Y轴为图像左边界垂直线。

在访问图像中点的值(x1,x2)时,x1并不是图片中对应点的x轴坐标,而是图片中对应点的y坐标。因此其访问的结果其实是访问image图像中的(x2,x1)点。
OpenCV图像高宽及坐标的转换问题——cv2.resize()/cv2.warpAffine()_第1张图片

你可能感兴趣的:(opencv_python,opencv,python,图像处理,坐标转换)