创作时间: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~
文章出处登录后可见!
已经登录?立即刷新