旋转的仿射变换(MATLAB)

图像旋转变换

以图像的中心为原点,将图像上的所有像素都旋转同一个角度的变换,图像的位置和大小发生改变。
代数表示式
在这里插入图片描述
在这里插入图片描述
得到了代数运算,可以用矩阵表示在这里插入图片描述
由于变换 后图像的大小可能会改变,我们的像素取整数,故要进行四舍五入操作
在这里插入图片描述
旋转的时候需要注意的是:
(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('不裁剪的旋转');

结果
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章