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)点。
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值