如何用matlab实现批量照片的灰度线性化0-255,并将这些修改的照片储存至另一个文件夹
时间: 2024-05-08 12:21:42 浏览: 8
以下是一个示例代码,实现了将一个文件夹中所有的图片进行灰度线性化调整,并保存到另一个文件夹中。请注意,这仅是一个简单的示例,你需要根据实际情况进行修改。
```matlab
% 设置输入和输出文件夹
input_folder = 'path/to/input/folder';
output_folder = 'path/to/output/folder';
% 获取文件夹中所有的图片文件名
file_list = dir(fullfile(input_folder, '*.jpg'));
% 循环处理每个文件
for i = 1:length(file_list)
% 读取图片
img = imread(fullfile(input_folder, file_list(i).name));
% 灰度线性化调整
img = (double(img) - min(img(:))) * 255 / (max(img(:)) - min(img(:)));
% 将图片保存到输出文件夹
output_filename = fullfile(output_folder, file_list(i).name);
imwrite(uint8(img), output_filename);
end
```
在这个示例中,我们首先设置输入和输出文件夹的路径。然后,使用 `dir` 函数获取输入文件夹中所有的 `.jpg` 文件的文件名。接下来,使用一个循环来处理每个文件。在循环中,我们首先使用 `imread` 函数读取图片。然后,将图片进行灰度线性化调整,这里使用了最小-最大归一化的方法。最后,使用 `imwrite` 函数将调整后的图片保存到输出文件夹中。
请注意,这里的示例代码仅适用于 `.jpg` 格式的图片,如果你的图片格式不同,需要相应地进行修改。