图像旋转变换
以图像的中心为原点,将图像上的所有像素都旋转同一个角度的变换,图像的位置和大小发生改变。
代数表示式:
得到了代数运算,可以用矩阵表示
由于变换 后图像的大小可能会改变,我们的像素取整数,故要进行四舍五入操作
旋转的时候需要注意的是:
(1)先进行评议,然后进行图像旋转,目的是避免图像信息丢失;
(2)图像旋转后,对空白点进行灰度级插值处理。
MATLAB函数
1)Matlab使用imrotate函数旋转图像。在图像旋转的过程中,也可能涉及插值问题。默认采用最近邻插值法。
2)imrotate函数
其中,’crop’表示旋转时图像大小保持不变,但图像可能被切割。
若是’loose’,则图像大小可能会发生变化。
举例:
F=imread('lena.jpg');
J1=imrotate(A,60);
J2=imrotate(A,-30);
J3=imrotate(A,60,'bicubic','crop');
J4=imrotate(A,30,'bicubic','loose');
subplot(221);imshow(G1);
title('逆时针旋转60度');
subplot(222);imshow(G2);
title('顺时针旋转30度');
subplot(223);imshow(G3);
title('裁剪的旋转');
subplot(224);imshow(G4);
title('不裁剪的旋转');
结果