python opencv图片旋转如何匹配_openCV-python(二)图像的几何变换-旋转、缩放

本文介绍了如何使用OpenCV的getRotationMatrix2D和warpAffine函数进行图像旋转和缩放操作。详细讲解了不同旋转角度对图像坐标的影响,并提供了随机旋转和缩放的代码示例,包括坐标转换的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openCV函数介绍

cv2的getRotationMatrix2D函数,通过将旋转的中心点坐标,旋转的角度,缩放比例作为参数传入即可得到中间旋转矩阵,warpAffine函数将通过这个矩阵,计算出旋转缩放后的图像,以及坐标(坐标单独有函数进行处理)

# 例子

M = cv2.getRotationMatrix2D((w * 0.5, h * 0.5), angle, scale)

new_image = cv2.warpAffine(Image, M, (int(math.ceil(nw)), int(math.ceil(nh))))

一、旋转和缩放介绍

图像旋转根据角度不同,有不同的处理,因为旋转角度小于90°,图像的四角坐标会改变,但顺序不会变化,保持左上-右上-右下-左下的顺序。但假如旋转的角度为90°,180°,或者270°,都不仅会改变坐标的值,而且会改变图像原来四个角坐标的顺序。这个特点在做图像增强处理的时候是要特别注意的,尤其在处理增强后的图像坐标的时候。

下面关于缩放的介绍内容来自中文手册:

http://woshicver.com/FifthSection/4_2_%E5%9B%BE%E5%83%8F%E5%87%A0%E4%BD%95%E5%8F%98%E6%8D%A2/

缩放只是调整图像的大小。为此,OpenCV带有一个函数cv.resize()。图像的大小可以手动指定,也可以指定缩放比例。也可使用不同的插值方法。首选的插值方法是cv.INTER_AREA用于缩小,cv.INTER_CUBIC(慢)和cv.INTER_LINEAR用于缩放。默认情况下,出于所有调整大小的目的,使用的插值方法为cv.INTER_L

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值