MATLAB遍历文件夹下的图像并将处理生成的文件遍历存入
clear all;
close all;
clc;
imgDataPath = 'E:/SAREO/train_images/TRAIN/';
imgDataDir = dir(imgDataPath); % 遍历所有文件
for i = 1:length(imgDataDir)
if(isequal(imgDataDir(i).name,'.')||... % 去除系统自带的两个隐文件夹
isequal(imgDataDir(i).name,'..')||...
~imgDataDir(i).isdir) % 去除遍历中不是文件夹的
continue;
end
imgDir = dir([imgDataPath imgDataDir(i).name '/EO*.png']);
for j =1:length(imgDir) % 遍历所有图片
EOImg = imread([imgDataPath imgDataDir(i).name '/' imgDir(j).name]);
% strrep(a,'EO','SAR') 将a中的所有字符串EO换为SAR
SARImg = imread([imgDataPath imgDataDir(i).name '/' strrep(imgDir(j).name,'EO','SAR')]);
EO_SAR_fusion = process(EOImg,SARImg) % 处理读入的图像
name = strcat('fusion_',imgDir(j).name); % 字符串拼接
imwrite(EO_SAR_fusion, [strrep(imgDataPath,'TRAIN','train_fusion') imgDataDir(i).name '/' name]) % 遍历另一个(利用字符串的替换)文件夹写入处理生成的图像
end
end