matlab如何循环读入某一文件夹下的所有图片 对某文件夹下的图片进行重新排序

来源:互联网 发布:用友软件打印凭证设置 编辑:程序博客网 时间:2024/05/15 11:21

在对多张图片同时处理时,用循环比较方便

怎么样对多张图片同时读入并进行处理呢?


下面是对某一文件夹下的多张图片进行重新排序的代码:

clear all;

clc;

Picnames=struct2cell(dir('D:\My Documents\Tencent Files\2725633704\FileRecv\图片\*.jpg'));        %文件所在的路径及格式根据自己的图片定
[k,len]=size(Picnames);%获得bmp文件的个数
n=0;
for i=1:len  %逐次取出文件
 % if((i-1)/7==round((i-1)/7)||(i-2)/7==round((i-2)/7))
  name=Picnames{1,i};
  I=imread(['D:\My Documents\Tencent Files\2725633704\FileRecv\图片\',name]);                     %读取文件

             
  %对图片进行保存
  imwrite(I,['C:\Users\Administrator\Desktop\图片1\',num2str(i),'.jpg']); %按编号保存处理后图片,图片位置自己定
  n=n+1;
end
disp('完成处理文件总数及获得文件数:');
disp(len);
disp(n);

disp('OK!Good job!')


把多张图片改成统一大小,例如:256*256

clear all;
clc;
Picnames=struct2cell(dir('C:\Users\Administrator\Desktop\图片1\*.jpg')); %更改文件所在文件夹地址及格式
[k,len]=size(Picnames);%获得bmp文件的个数
n=0;
for i=1:len  %逐次取出文件
 
  name=Picnames{1,i};
  I=imread(['C:\Users\Administrator\Desktop\图片1\',name]); 
  %a=rgb2gray(I);


  b=imresize(I,[256,256]);

  imwrite(b,strcat('C:\Users\Administrator\Desktop\图片2\',[num2str(i),'.jpg']));
  n=n+1;
end
disp(len);
disp(n);



0 0
原创粉丝点击