matlab 图像旋转实验怎么做
时间: 2024-09-18 09:01:14 浏览: 60
ex.rar_ex_image rotation_matlab 做ex图像_图像处理_图像旋转
在 MATLAB 中,你可以通过 `imrotate` 函数来进行图像旋转。下面是一个简单的例子来展示如何创建一个名为 `rotate_image` 的函数,用于接收一个图像文件名和旋转角度作为输入,并返回旋转后的图像:
```matlab
function rotated_img = rotate_image(img_file, rotation_degrees)
% 加载原始图像
original_img = imread(img_file);
if isundefined(original_img)
error('无法读取图像文件 "%s"', img_file);
end
% 检查旋转角度是否有效
rotation_degrees = round(rotation_degrees); % 四舍五入到整数度
if isnan(rotation_degrees) || ~isnumeric(rotation_degrees) || mod(rotation_degrees, 90) ~= 0
error('旋转角度应为整数倍的90度');
end
% 执行旋转
rotated_img = imrotate(original_img, rotation_degrees, 'crop'); % 使用 'crop' 选项裁剪保持图像大小不变
% 显示旋转前后的图像
figure;
subplot(1,2,1), imshow(original_img), title('原始图像');
subplot(1,2,2), imshow(rotated_img), title(sprintf('旋转了 %.0f 度的图像', rotation_degrees));
end
```
要使用此函数,只需传入你的图片文件路径和所需的旋转角度,如:
```matlab
rotate_image('example.jpg', 90);
```
阅读全文