matlab矩阵旋转任意角度的函数 imrotate
>>帮助 imrotate
旋转图像。
B=imrotate(A,ANGLE)在A中按角度旋转图像A
围绕其中心点的逆时针方向。旋转图像
顺时针方向,为“角度”指定负值。imrotate生成输出
图像B大到足以包含整个旋转图像。imrotate使用
最近邻插值,设置B中像素的值
在旋转后的图像外为0(零)。
B=imrotate(A,角度,方法)使用插值旋转图像A
方法指定的方法。方法是一个字符串,它可以具有
以下值。默认值用大括号({})括起来。
{'nearest'}最近邻插值
“双线性”双线性插值
“双三次”双三次插值。注:此插值
方法可以在原始值之外生成像素值
范围。
B=imrotate(A,ANGLE,METHOD,BBOX)旋转图像A,其中BBOX指定
输出图像B.BBOX的大小是一个文本字符串,可以
以下值之一。默认值用大括号括起来
({}).
{'loose'}使输出图像B足够大以包含
整个旋转图像。B一般比A大。
“裁剪”使输出图像B的大小与输入图像相同
A、 裁剪旋转图像以适应。
Class支持
-------------
输入图像可以是数字图像或逻辑图像。输出图像是
与输入图像相同的类。
注意
----
函数imrotate在版本9.3(R2015b)中发生了更改。上一个
图像处理工具箱的版本使用不同的空间
习俗。如果你需要同样的结果
实现时,使用函数IMROTATE\u OLD。
此函数可以利用数据类型的硬件优化
uint8,uint16,single和double可以跑得更快。
例子
-------
%这个例子通过
%将图像旋转-1度。
I=fitsread('太阳光谱.fts');
I=材料2射线(I);
J=旋转(I,-1,'双线性','裁剪');
图,图(I),图,imshow(J)
另请参见imrotate_old、imcrop、imresize、imtransform、tformarray。
imrotate 的参考页
名为 imrotate 的其他函数
具体示例:
>>
>> A1=[1,2,3;2,0,1;3,6,2]
A1 =
1 2 3
2 0 1
3 6 2
>>
>>
>> A2=imrotate(A1,60)
A2 =
0 0 0 0 0
0 2 3 1 0
0 1 0 2 0
0 2 3 6 0
0 0 0 0 0
>>
>>
>> A3=imrotate(A1,90)
A3 =
3 1 2
2 0 6
1 2 3
>>
>> A4 = imrotate(A1,180)
A4 =
2 6 3
1 0 2
3 2 1
>>
>>
>> A5=imrotate(A1,45)
A5 =
0 0 3 0 0
0 2 3 1 0
1 1 0 2 2
0 2 3 6 0
0 0 3 0 0
>>
>>
>> A5 = imrotate(A1,30)
A5 =
0 0 0 0 0
0 2 3 1 0
0 1 0 2 0
0 2 3 6 0
0 0 0 0 0
>>
>>