创作时间:2022-03-14
目录:
1.图像批处理的应用
2.代码
3.演示结果
4.总结
正文:
1.图像批处理的应用
在做图像处理时候,首先是研究算法,在单张的图像上做分析,把算法搞明白。
接下来,我们需要验证算法的适用性,需要将算法应用在大量的数据集上,如果我们靠着手动不断的更换“图像的路径文件名”,这样难免处理非常慢,10张20张这样做还能接受,但是成百上千张图像数据,要是再这么处理,非常不可取也基本不可行。
为了提高效率,必学技能:图像批处理,包括: 批量读取图像—>批量处理—>批量写入文件夹。
2.代码
千言万语,不如直接看代码,简单明了。
clc
%选择输入的图像路径
selpath = uigetdir(path);
if ~isequal(selpath,0)
pathname_old=selpath;
%app.foldnameEditField.Value=selpath;
else
warndlg('selpath fail','Warning');
return
end
%选择输出的图像路径
selpath = uigetdir(path);
if ~isequal(selpath,0)
pathname_new=selpath;
%app.foldnameEditField.Value=selpath;
else
warndlg('selpath fail','Warning');
return
end
%%批量读取,处理,并输出
fileList=dir(fullfile(pathname_old,'*.bmp'));%以bmp图像为例
nn=length(fileList);
for ii=1:nn
filename_old=fileList(ii).name;
filename_new=strcat(filename_old(1:end-4),"_processed",".bmp");
A=imread(fullfile(pathname_old,filename_old));
B=255-double(A);%以255-A,取反为例,代表处理程序,用自己的处理代码替换这里
pathfilename_new=fullfile(pathname_new,filename_new);
imwrite(uint8(B),pathfilename_new);
end
disp("ok~");
3.演示结果
运行程序。
step1:选择输入的图像文件夹
step2:选择输出的图像文件夹
运行结果:
4.总结
学好这个技能,学会套用,一通百通。
THE END~