版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangkun1340378/article/details/72842620
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-e2445db1a8.css">
<div class="htmledit_views">
今天被师兄问到如何利用matlab批处理图片,觉得很简单嘛
就让他去百度 结果只百度到处理文件夹中图片的程序
好吧 这里放上如何处理文件夹中子文件夹的图片
现状:在一个名为casia的文件夹中,里面有很多子文件夹,每个子文件夹均以人名为文件件名,每个子文件夹中有一定数量的图片,如图所示
casia文件夹图示:
casia文件夹中 子文件夹图示:
目的:将casia文件夹中->每个子文件夹中的图片进行修改大小处理
code:
%图片路径 src='D:\casia'; %存取路径 des='D:\resize-casia'; pathlist1=dir(src); filenum1=length(pathlist1); filenamelist1={pathlist1.name}; %由于得到的filenamelist第一个是.第二个是..第三个才是文件夹名, %故i从3开始 for i=3:filenum1 %做一次嵌套,目的是读取子文件夹中的图片 imgsrcpath=[src,'\',filenamelist1{i}]; imgdespath=[des,'\',filenamelist1{i}]; pathlist2=dir(imgsrcpath); filenum2=length(pathlist2); filenamelist2={pathlist2.name}; for j=3:filenum2 imgsrcpath1=[imgsrcpath,'\',filenamelist2{j}]; imgdespath1=[imgdespath,'\',filenamelist2{j}]; imgsrc=imread(imgsrcpath1); %imgdes=imresize(imgsrc,[160,160],'bilinear'); imgdes=imresize(imgsrc,[160,160]); imwrite(imgdes,imgdespath1); end %这个i用来看处理到第几个文件夹了 i end
以上,即可完成处理
其实,关于图片大小的resize,如果只是涉及到一个文件夹内的图片大小处理,有个非常简单的方法,你首先需要一个看图工具,现在基本上所有看图工具都有批量转换尺寸的功能
点击批量改尺寸后
根据自己的需求修改即可
</div>
</div>
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangkun1340378/article/details/72842620
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-e2445db1a8.css">
<div class="htmledit_views">
今天被师兄问到如何利用matlab批处理图片,觉得很简单嘛
就让他去百度 结果只百度到处理文件夹中图片的程序
好吧 这里放上如何处理文件夹中子文件夹的图片
现状:在一个名为casia的文件夹中,里面有很多子文件夹,每个子文件夹均以人名为文件件名,每个子文件夹中有一定数量的图片,如图所示
casia文件夹图示:
casia文件夹中 子文件夹图示:
目的:将casia文件夹中->每个子文件夹中的图片进行修改大小处理
code:
%图片路径 src='D:\casia'; %存取路径 des='D:\resize-casia'; pathlist1=dir(src); filenum1=length(pathlist1); filenamelist1={pathlist1.name}; %由于得到的filenamelist第一个是.第二个是..第三个才是文件夹名, %故i从3开始 for i=3:filenum1 %做一次嵌套,目的是读取子文件夹中的图片 imgsrcpath=[src,'\',filenamelist1{i}]; imgdespath=[des,'\',filenamelist1{i}]; pathlist2=dir(imgsrcpath); filenum2=length(pathlist2); filenamelist2={pathlist2.name}; for j=3:filenum2 imgsrcpath1=[imgsrcpath,'\',filenamelist2{j}]; imgdespath1=[imgdespath,'\',filenamelist2{j}]; imgsrc=imread(imgsrcpath1); %imgdes=imresize(imgsrc,[160,160],'bilinear'); imgdes=imresize(imgsrc,[160,160]); imwrite(imgdes,imgdespath1); end %这个i用来看处理到第几个文件夹了 i end
以上,即可完成处理
其实,关于图片大小的resize,如果只是涉及到一个文件夹内的图片大小处理,有个非常简单的方法,你首先需要一个看图工具,现在基本上所有看图工具都有批量转换尺寸的功能
点击批量改尺寸后
根据自己的需求修改即可
</div>
</div>