matlab图像批量颜色反转并保存的代码
时间: 2023-08-16 13:06:29 浏览: 49
以下是一个MATLAB图像批量颜色反转并保存的代码示例:
```matlab
folder = 'path/to/folder'; % 图像文件夹路径
output_folder = 'path/to/output/folder'; % 处理后图像的保存路径
file_list = dir(fullfile(folder, '*.jpg')); % 获取所有jpg文件
for i = 1:length(file_list)
filename = fullfile(folder, file_list(i).name); % 获取文件名
img = imread(filename); % 读取图像
img = imcomplement(img); % 颜色反转
[~, name, ext] = fileparts(filename); % 获取文件名和后缀
output_filename = fullfile(output_folder, [name '_processed' ext]); % 构造输出文件名
imwrite(img, output_filename); % 保存处理后的图像
end
```
以上代码中,`imcomplement`函数用于颜色反转,`fileparts`函数用于获取文件名和后缀,`imwrite`函数用于保存处理后的图像到指定路径。
注意,该代码仅适用于灰度图像或RGB图像。如果图像是索引图像,可以使用`ind2rgb`函数将其转换为RGB图像再进行颜色反转。
相关问题
matlab图像批量颜色反转代码
以下是一个简单的MATLAB图像批量颜色反转代码示例:
```matlab
folder = 'path/to/folder'; % 图像文件夹路径
file_list = dir(fullfile(folder, '*.jpg')); % 获取所有jpg文件
for i = 1:length(file_list)
filename = fullfile(folder, file_list(i).name); % 获取文件名
img = imread(filename); % 读取图像
img = imcomplement(img); % 颜色反转
imwrite(img, filename); % 保存处理后的图像
end
```
以上代码中,`imcomplement`函数用于颜色反转,处理后的图像将覆盖原图像。你也可以将处理后的图像保存到另一个文件夹中,以免覆盖原图像。
注意,该代码仅适用于灰度图像或RGB图像。如果图像是索引图像,可以使用`ind2rgb`函数将其转换为RGB图像再进行颜色反转。
使用MATLAB批量修改图片像素大小并保存完整代码
以下是一个完整的MATLAB代码示例,演示如何批量修改多个图像的像素大小并将它们保存到磁盘上:
```matlab
% 设置要处理的图像路径和保存路径
img_path = 'images/';
save_path = 'resized_images/';
% 获取图像路径下所有的图像文件名
img_files = dir([img_path '*.jpg']);
% 循环处理每个图像文件
for i = 1:length(img_files)
% 读取图像
img = imread([img_path img_files(i).name]);
% 修改像素大小为原来的一半
resized_img = imresize(img, 0.5);
% 构造保存路径和文件名
save_name = ['resized_' img_files(i).name];
save_file = [save_path save_name];
% 保存修改后的图像
imwrite(resized_img, save_file);
end
```
在这个代码中,我们首先设置了要处理的图像路径和保存路径。然后,使用dir函数获取图像路径下所有的图像文件名,并使用循环语句对每个图像文件进行处理。在循环中,我们读取每个图像文件,使用imresize函数将其像素大小缩小了一半,并构造保存路径和文件名。最后,我们使用imwrite函数将修改后的图像保存到了磁盘上。
请注意,该代码假定图像文件的扩展名为.jpg,如果您的图像文件有不同的扩展名,请修改dir函数中的参数以匹配您的文件类型。