旋轉的仿射變換(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('不裁剪的旋轉');

結果
在這裏插入圖片描述

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