这样:
imgPath = 'E:/imageData/'; % 图像库路径
imgDir = dir([imgPath '*.jpg']); % 遍历所有jpg格式文件
for i = 1:length(imgDir) % 遍历结构体就可以一一处理图片了
img = imread([imgPath imgDir(i).name]); %读取每张图片
end
注意事项
imgDir返回的是一个结构体,包含每个图片name(名称),date(日期),bytes(字节数),isdir(是否为文件夹/目录),datenum(修改日期,连续日期号码)。一般我们仅需使用图片名称就可以完成图片遍历的工作
需要先遍历所有子文件夹,然后依次再遍历每个子文件夹下的图片。程序如下:
imgDataPath = 'E:/imageData/';
imgDataDir = dir(imgDataPath); % 遍历所有文件
for i = 1:length(imgDataDir)
if(isequal(imgDataDir(i).name,'.')||... % 去除系统自带的两个隐文件夹
isequal(imgDataDir(i).name,'..')||...
~imgDataDir(i).isdir) % 去除遍历中不是文件夹的
continue;
end
imgDir = dir([imgDataPath imgDataDir(i).name '/*.jpg']);
for j =1:length(imgDir) % 遍历所有图片
img = imread([imgDataPath imgDataDir(i).name '/' imgDir(j).name]);
end
end
这个简单,参考如下:
imgPath='E:/imageData/';%图像库路径
imgDir=dir([imgPath'*.jpg']);%遍历所有jpg格式文件
fori=1:length(imgDir)%遍历结构体就可以一一处理图片了
img=imread([imgPathimgDir(i).name]);%读取每张图片
扩展资料:
需要先遍历所有子文件夹,然后依次再遍历每个子文件夹下的图片,程序如下。
imgDataPath='E:/imageData/';
imgDataDir=dir(imgDataPath);%遍历所有文件
fori=1:length(imgDataDir)
if(isequal(imgDataDir(i).name,'.')||...%去除系统自带的两个隐文件夹
isequal(imgDataDir(i).name,'..')||...
~imgDataDir(i).isdir)%去除遍历中不是文件夹的
continue;
end
imgDir=dir([imgDataPathimgDataDir(i).name'/*.jpg']);
forj=1:length(imgDir)%遍历所有图片
img=imread([imgDataPathimgDataDir(i).name'/'imgDir(j).name]);
end
end
ImgDir返回一个包含每个图像名称、日期、字节、isdir和datenum的结构。一般情况下,我们只需要用图片的名称来完成图片的遍历工作
本回答被网友采纳谢谢,但是我希望的是读的是一个文件夹下的多个子文件夹中的多个图片,也就是每个子文件夹中有多个图片,而且名字不能改,因为名字是图片的类型,我之后的处理会用到名字作为识别~~
追答后缀是图片的类型吧,那你各个子文件夹的名字是否有关联,每个子文件夹中的图片是否都是一种类型的?
追问不好意思回复晚啦,各自子文件夹的名字也是没有关联的,图片都是一种类型~
怎样用matlab读取一个文件夹下的多个子文件夹中的多个jpg图片,急用...
imgPath = 'E:\/imageData\/'; % 图像库路径 imgDir = dir([imgPath '*.jpg']); % 遍历所有jpg格式文件 for i = 1:length(imgDir) % 遍历结构体就可以一一处理图片了 img = imread([imgPath imgDir(i).name]); %读取每张图片 end ...
用MATLAB如何读取一个文件夹里的图片
1、查看图片所在的位置。2、输入命令I=imread('E:\\1.jpg')。3、点击右边工作区的名称为I的,可以查看图片的编码。4、输入命令imsho(I),选择命令,右击,执行所选内容。5、或选择命令,点击上端的“运行并前进”。6、如图所示,图片就显示出来了。
怎么用MATLAB批量读取一个文件夹里面的图片 并进行处理呢?
2 循环读图 I=cell(1,n);for i=1:n imageName=strcat(num2str(i),'.jpg');I{i} = imread(imageName);end 3 处理图像 --- 如果图像很多,那么最好这样,第二步和第三步合并 for i=1:n imageName=strcat(num2str(i),'.jpg');I = imread(imageName);处理当前图像 end ...
matlab中如何批量读jpg格式的图(不用修改图的编号)
首先将需要处理的文件放到一个文件夹里 打开一个需要修改的文件→打开动作面板→点新建按钮,新建一个动作→Ctrl+Shift+s(另存为)保存为JPG文件→关闭文件→点击动作面板上最左下角停止播放\/录制按钮→选择文件菜单→自动→批处理→动作选项中选择刚才新建的动作→源:选择文件夹(动作和原一般默认的就是...
matlab中,我想把一个文件夹里的所有图片都读入,如何做
这是读取两层文件夹里图片的示例。clc;clear;fatherPath=['C:\\Users\\chen\\Desktop\\人脸识别\\faces'];dirs=dir(fatherPath);dircell=struct2cell(dirs);for i=3:length(dircell) subdirs=dircell(1,i); SonPath=[fatherPath '\\' cell2mat(subdirs)]; %SonPath=[fatherPath '\\' cell...
matlab中循环提取一个文件夹中的多个文件
mydir='\/result\/sig\/';filenames=dir([mydir,'*.txt]');for i=1:length(filenames)filename=[mydir,filenames(i).name];filename就是单个文件名了 end
matlab怎么将一个文件夹下的多个文本里的数据一次提取出来
首先你的文本是什么文件,如果是excel就使用xlsread,如果是txt就使用textread函数,其次还可以使用load,importdata等函数 然后是有多个文件的问题,如果你的文件名是有一定规律可循的,可以通过一个循环来读取,在循环中构造文件名。如果文件名没有规律可循,你可以使用dir函数得到这些文件名,然后一个个的...
如何使用matlab读取多层文件夹中的所有数据文件
方法\/步骤 获取第一层文件夹下的所有文件夹以及数据信息结构体。例如:主路径是SourcePath 可以通过相对路径代码cd(SourcePath);File1NameFormation=dir('*.')获取当前路径下所有文件夹信息并且将文件夹信息保存在File1NameFormation中。也可以使用绝对路径:File1NameFormation=dir('SourcePath\\*.');对于...
如何用Matlab读入并显示图片文件(单张或多张)
Matlab安装时一般默认位于C:\\Documents and Settings\\Administrator\\My Documents\\MATLAB此时可以直接输入:A=imread('photo.jpg'); imshow(A);以下几行代码,可以实现多图片文件的读入:%%%%%%%%%%%%%%%%%%%%%%%all_ccdfile=char('LENA616.bmp', 'LENA617.bmp'); %可以在这这里继续添加你的...
如何用matlab读取一个文件夹里的所有图像并保存为矩阵,将图像放在一...
file_path = 'E:\\MyFiles\\图片收藏\\data\\';% 图像文件夹路径 img_path_list = dir(strcat(file_path,'*.jpg'));%获取该文件夹中所有jpg格式的图像 img_num = length(img_path_list);%获取图像总数量 if img_num > 0 %有满足条件的图像 for j = 1:img_num %逐一读取图像 image_...