【MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹

创作时间: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.演示结果

运行程序。

【MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹_第1张图片
step1:选择输入的图像文件夹
【MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹_第2张图片
step2:选择输出的图像文件夹
【MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹_第3张图片

运行结果:

【MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹_第4张图片
【MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹_第5张图片

【MATLAB】图像批处理:批量读取图像—>批量处理—>批量写入文件夹_第6张图片

4.总结

学好这个技能,学会套用,一通百通。
祝你学习愉快~


THE END~
在这里插入图片描述

【MATLAB-app】系列教程(含视频)00_csdn上第一套关于matlab appdesigner系列“视频课”来啦~~

【MATLAB】使用matlab进行UDP通信,图像数据传输等(源码分享,有注释)

你可能感兴趣的:(MATLAB,matlab,图像处理,matlab批量处理)