MATLAB 帮助中心
旋转图像
J = imrotate(I,angle)
J = imrotate(I,angle,method)
J = imrotate(I,angle,method,bbox)
J = imrotate(I,angle) 将图像 I 围绕其中心点逆时针方向旋转 angle 度。要顺时针旋转图像,请为 angle 指定负值。imrotate 使输出图像 J 足够大,可以包含整个旋转图像。默认情况下,imrotate 使用最近邻点插值,对于数值和逻辑图像,将 J 中位于旋转后的图像外的像素的值设置为 0;对于分类图像,设置为 missing。
J
I
angle
imrotate
0
missing
示例
J = imrotate(I,angle,method) 使用 method 指定的插值方法旋转图像 I。
method
J = imrotate(I,angle,method,bbox) 还使用 bbox 参量来定义输出图像的大小。您可以将输出裁剪到与输入图像相同的大小,或返回整个旋转后的图像。
bbox
全部折叠
将一个图像读入工作区,并将其转换为灰度图像。
I = fitsread('solarspectra.fts'); I = rescale(I);
显示原始图像。
figure imshow(I) title('Original Image')
将图像顺时针旋转 1 度,以实现更好的水平对齐。该示例指定双线性插值,并要求将结果裁剪到与原始图像相同的大小。
J = imrotate(I,-1,'bilinear','crop');
显示旋转后的图像。
figure imshow(J) title('Rotated Image')
要旋转的图像,指定为数值数组、逻辑数组或分类数组。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
categorical
旋转量(以度为单位),指定为数值标量。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
"nearest"
"bilinear"
"bicubic"
插值方法,指定为下列值之一:
值
描述
最近邻点插值。赋给输出像素的值就是输入点所在像素的值。不考虑其他像素。
最近邻点插值是分类图像唯一支持的方法。
双线性插值。输出像素值是最近的 2×2 邻域中像素的加权平均值。
双三次插值。输出像素值是最近的 4×4 邻域中像素的加权平均值。
注意
双三次插值可能生成在原始范围之外的像素值。
数据类型: char | string
char
string
"loose"
"crop"
定义输出图像大小的边界框,指定为下列值之一:
使输出图像 J 与输入图像 I 大小相同,裁剪旋转后的图像以适应边界框。
使输出图像 J 足够大,以包含整个旋转后的图像。J 大于 I。
旋转后的图像,以与输入图像 I 具有相同数据类型的数值、逻辑或分类数组形式返回。
在某些情况下,此函数使用针对数据类型 uint8、uint16、single 和 double 的硬件优化来加快运行速度。
全部展开
用法说明和限制:
imrotate 支持 C 代码生成(需要 MATLAB® Coder™)。请注意,如果您选择通用的 MATLAB Host Computer 目标平台,imrotate 生成的代码将使用平台特定的预编译共享库。使用共享库可保留性能上的优化,但适用范围仅限于生成的代码所适用的目标平台。有关详细信息,请参阅Image Processing Toolbox 中代码生成支持的类型。
MATLAB Host Computer
不支持分类数据类型的输入图像。
method 和 bbox 参量必须为编译时常量。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
gpuArray 输入必须为 uint8、uint16、single 或 logical 类型。
gpuArray
此函数的 GPU 实现中使用的 "bicubic" 插值模式不同于默认 (CPU) 双三次模式。此函数的 GPU 和 CPU 版本给出的结果应存在细微差异。
有关详细信息,请参阅GPU 上的图像处理。
imrotate 现在支持基于线程的环境。
此函数在版本 9.3 (R2015b) 中已更改。Image Processing Toolbox™ 的以前版本使用不同空间约定。如果您需要实现与之前相同的结果,请使用函数 imrotate_old。
imrotate_old
imcrop | imrotate3 | imresize | imtransform | tformarray
imcrop
imrotate3
imresize
imtransform
tformarray
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处