imrotate

imrotate是matlab中對圖像進行旋轉的操作命令,在matlab命令視窗中鍵入help imrotate 或 doc imrotate即可以獲得關於該函式的幫助信息。

功能

對圖像進行旋轉操作。

調用格式

B = imrotate(A,angle)

B = imrotate(A,angle,method)

B = imrotate(A,angle,method,bbox)

調用格式說明

B = imrotate(A,angle)

將圖像A(圖像的數據矩陣)繞圖像的中心點旋轉angle度, 正數表示逆時針旋轉, 負數表示順時針旋轉。返迴旋轉後的圖像矩陣。

B = imrotate(A,angle,method)

使用method參數可以改變插值算法,method參數可以為下面這三個值:

'nearest':最鄰近線性插值(Nearest-neighbor interpolation)

'bilinear': 雙線性插值(Bilinear interpolation)

'bicubic': 雙三次插值(或叫做雙立方插值)(Bicubic interpolation)

B = imrotate(A,angle,method,bbox)

bbox參數用於指定輸出圖像屬性:

'crop': 通過對旋轉後的圖像B進行裁剪, 保持旋轉後輸出圖像B的尺寸和輸入圖像A的尺寸一樣。

'loose': 使輸出圖像足夠大, 以保證源圖像旋轉後超出圖像尺寸範圍的像素值沒有丟失。 一般這種格式產生的圖像的尺寸都要大於源圖像的尺寸。

程式示例

下面這個程式演示了怎樣使用imrotate函式在matlab中產生一個斜矩形。

img_w = 640;

img_h = img_w;

img_oblique_rect = zeros(img_h, img_w);

% create a oblique(45) rectangle in the matrix

x1 = int32(img_w / 5 * 2); x2 = int32(img_w / 5 * 3);

y1 = int32(img_h / 7); y2 = int32(img_h / 7 * 6);

% 下面這句代碼產生一個常規矩形。

img_oblique_rect(y1:y2, x1:x2) = 1;

% 利用雙線性插值算法對圖像進行旋轉, 產生一個斜矩形

img_oblique_rect = imrotate(img_oblique_rect, 45, 'bilinear','crop');

img_oblique_rect = imcomplement(img_oblique_rect);

figure('Name', '這是一個斜矩形'), imshow(img_oblique_rect)

運行結果如下:

imrotate imrotate

相關詞條

相關搜尋

熱門詞條

聯絡我們