图像处理学习笔记之图像的几何变换(3)旋转变换

本文详细介绍了图像的旋转变换,包括旋转原理、坐标变换公式以及OpenCV中的实现方法。通过计算旋转中心、变换矩阵,利用getRotationMatrix2D和warpAffine函数,实现了任意角度的图像旋转。对于旋转后图像大小不变的情况,还讨论了取整处理和插值方法对图像质量的影响。
摘要由CSDN通过智能技术生成

旋转有一个绕着什么转的问题。通常的做法是以图像的中心为圆心旋转,将图像上的所有像素都旋转一个相同的角度。图像的旋转变换是图像的位置变换,但旋转后图像的大小一般会改变。和平移变换一样,既可以把转出显示区域的图像截去,也可以扩大显示区域以显示完整的图像,如下图所示。

我们先讨论不裁剪转出部分,扩大显示区域的情况。在下图所示的平面坐标系中,A0逆时针旋转θ变成A1r是该点到原点的距离,则旋转前:

旋转后A1的坐标为

写成矩阵的形式为:

其逆变换矩阵如下:

上面公式是旋转变换的基本公式,坐标系是以图像的中心为原点,向右为x轴正方向,向上为y轴正方向。上述旋转是绕坐标原点进行的,如果是绕指定点(a,b)旋转,那么应该先将坐标系平移至改点,再旋转,然后平移至新的坐标原点。

下面推导坐标系平移的变换公式。坐标系是图像的坐标系,坐标系是旋转坐标系,坐标系的原点在坐标系中为(a,b),如下图所示。

两种坐标系之间的转换为:

逆变换为:

有了上面的公式,就可以很方便的推导图像旋转变换的表达式。假设图像未旋转时候旋转中心的坐标是(a,b),旋转后中心点的坐标为(c,d)(在新的坐标系下,以旋转后图像的左上角为原点),则可以把变换分为3步:

第一步,将坐标系Ⅰ变成Ⅱ;

第二步,旋转θ(逆时针为正,顺时针为负);

第三步,将坐标系Ⅱ变换回Ⅰ。这样就得到了总的变换矩阵。

设原图像某像素点的坐标为(x0y0),旋转后在目标图像的坐标为(x1y1),则旋转变换的矩阵表达式为&

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值