如何在matlab软件中对第一个文件夹内的图片进行亮度增强后统一给文件名加上_salt后输出到第二个文件夹(完整代码)
时间: 2024-05-02 15:19:24 浏览: 18
以下是完整的 MATLAB 代码:
```matlab
% 设置第一个文件夹的路径
folder1 = 'C:\Users\username\Desktop\folder1\';
% 获取第一个文件夹内的所有图片文件名
filelist = dir(fullfile(folder1, '*.jpg'));
% 设置亮度增强的参数,可以根据需要进行调整
gamma = 1.5;
% 循环遍历每张图片进行亮度增强并保存到第二个文件夹
folder2 = 'C:\Users\username\Desktop\folder2\';
for i = 1:length(filelist)
% 读取图片
img = imread(fullfile(folder1, filelist(i).name));
% 对图片进行亮度增强
img_enhanced = imadjust(img,[],[],gamma);
% 给输出图片加上_salt后缀
[pathstr, name, ext] = fileparts(filelist(i).name);
output_name = [name '_salt' ext];
% 保存输出图片到第二个文件夹
imwrite(img_enhanced, fullfile(folder2, output_name), 'Quality', 100);
end
```
其中,`folder1` 和 `folder2` 分别是第一个和第二个文件夹的路径,可以根据实际情况进行修改。`gamma` 是亮度增强的参数,可以根据需要进行调整。
首先,使用 `dir` 函数获取第一个文件夹内所有的 `jpg` 图片文件名。然后,使用 `imread` 函数读取每张图片,使用 `imadjust` 函数对图片进行亮度增强。接着,使用 `fileparts` 函数获取图片文件名的前缀、后缀和路径,然后在前缀后面加上 `_salt` 后缀。最后,使用 `imwrite` 函数将输出图片保存到第二个文件夹中。在保存图片时,可以设置图片质量为 `100`,以保证输出图片的质量。
注意,如果第二个文件夹不存在,需要先使用 `mkdir` 函数创建该文件夹。例如:
```matlab
if ~exist(folder2, 'dir')
mkdir(folder2);
end
```