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

>> 
>> 

 

posted @ 2020-08-17 13:50  西北逍遥  阅读(8545)  评论(0编辑  收藏  举报