有一个图像文件,遍历文件夹里的所有图像,对每个图像进行旋转操作,每旋转5度一次保存一个新图像,新图像以原图像文件名加一个旋转次数命名,并删除原图片,写一个完整的matlab代码解决问题
时间: 2024-03-03 22:48:40 浏览: 82
好的,下面是 Matlab 代码实现:
```matlab
% 设置图像文件夹路径
img_folder = 'path/to/image/folder/';
% 遍历该文件夹下所有图像文件
img_files = dir(fullfile(img_folder, '*.jpg')); % 这里假设图像格式为 jpg
for i = 1:length(img_files)
% 读取图像
img = imread(fullfile(img_folder, img_files(i).name));
% 循环旋转图像并保存
for j = 1:72 % 总旋转角度为 72 * 5 = 360 度
% 旋转图像
rotated_img = imrotate(img, j * 5, 'crop');
% 构造新文件名
new_filename = strrep(img_files(i).name, '.jpg', ['_' num2str(j) '.jpg']);
% 保存旋转后的图像
imwrite(rotated_img, fullfile(img_folder, new_filename));
% 删除原图像
delete(fullfile(img_folder, img_files(i).name));
end
end
```
这段代码首先遍历了指定文件夹下所有 jpg 格式的图像文件,对每个图像进行了循环旋转操作,每次旋转 5 度,总共旋转了 72 次。在旋转过程中,我们通过 `imrotate` 函数对图像进行旋转,并通过 `imwrite` 函数将旋转后的图像保存到文件夹中。每次旋转后,我们通过 `delete` 函数删除原图像。最终,你会在图像文件夹中找到旋转后的所有图像文件。
阅读全文