请输入您要查询的百科知识:

 

词条 imrotate
释义

Matlab函数imrotate简介

函数功能:对图像进行旋转操作。在matlab命令窗口中键入help imrotate 或 doc imrotate或lookfor imrotate可以获得该函数帮助信息。

调用格式:

B = imrotate(A,angle)

将图像A(图像的数据矩阵)绕图像的中心点旋转angle度, 正数表示逆时针旋转, 负数表示顺时针旋转。返回旋转后的图像矩阵。 以这种格式调用该函数, 该函数默认采用最近邻线性插值(Nearest-neighbor interpolation)。旋转后的图像超出的部分填充0(黑色)。

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)

运行结果如下:

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/27 13:23:41