用imrotate函数可以旋转图像。该函数接受两个主要的变量,即要旋转的图像和旋转角度。旋转角度的单位为度(),如果为一个正值,则imrotate函数按逆时针方向旋转图像;如果为一个负值,则imrotate函数按顺时针方向旋转图像。[大谦MATLAB,dqmatlab点com]
下面的例子将图像逆时针方向旋转35。
code.matlab
>> J=imrotate(I,35);
作为可选变量,还可以给imrotate函数指定插值方法和图像的大小。
指定插值方法
在默认时,imrotate函数使用最近邻插值法确定输出图像中像素的值,但是也可以指定其他方法。其他方法有双线性插值法和双三次插值法。例如,下面的代码采用双线性插值法,将图像逆时针方向旋转35。
code.matlab
>> I=imread('Lion.bmp');
>> J=imrotate(I,35,'bilinear');
>> imshow(I)
>> figure, imshow(J)
生成图2-2所示的图形,图2-2(a)和图2-2(b)分别表示旋转前和旋转后的图像。
(a) (b)
图2-2 旋转前后的图像
指定输出图像的大小
在默认时,imrotate函数创建一个足够包含整个原始图像的输出图像。将落在原始图像边界以外的像素的值设置为0,并且在输出图像中显示为黑色的背景。如果把文本字符串“crop”指定为变量,则imrotate函数会将输出图像的尺寸裁剪成与输入图像相同。