matlab读取文件夹下的所有图片及其子文件夹下的所有图片
2017-12-12 15:55
1746 查看
做图像处理实验,经常需要遍历当前文件下所有图片。matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的。函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体就可以达到访问所有文件的目的了。具体实现见下面程序:
2
3
4
5
6
上面imgDir返回的是一个结构体,包含每个图片name(名称),date(日期),bytes(字节数),isdir(是否为文件夹/目录),datenum(修改日期,连续日期号码)。一般我们仅需使用图片名称就可以完成图片遍历的工作
需要先遍历所有子文件夹,然后依次再遍历每个子文件夹下的图片。程序如下:
2
3
4
5
6
7
8
9
10
11
12
13
上面需要注意去除两个系统自带的隐藏文件夹,这个在dir函数读取所有文件时候也会全部遍历出来,然后去除非子文件夹的文件。当然,如果当前文件夹下也有图片,if语句最后一个条件不用判断了
imgPath = 'E:/imageData/'; % 图像库路径 imgDir = dir([imgPath '*.jpg']); % 遍历所有jpg格式文件 for i = 1:length(imgDir) % 遍历结构体就可以一一处理图片了 img = imread([imgPath imgDir(i).name]); %读取每张图片 end1
2
3
4
5
6
上面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 end1
2
3
4
5
6
7
8
9
10
11
12
13
上面需要注意去除两个系统自带的隐藏文件夹,这个在dir函数读取所有文件时候也会全部遍历出来,然后去除非子文件夹的文件。当然,如果当前文件夹下也有图片,if语句最后一个条件不用判断了
相关文章推荐
- MATLAB读取文件夹及其所有子文件夹内的图像
- matlab遍历文件夹下所有图片和遍历所有子文件夹下图片
- MATLAB的fullfile 及读取train文件夹中的所有图片 MATLAB的%%
- Matlab 读取文件夹以及子文件夹图片的方法
- matlab 批量读取文件夹内所有图片的几种方法
- matlab一次读取多幅图片的方法////////////读取文件夹中的所有图片or文件
- Matlab 关于如何读取文件夹中的所有图片(3种方法)
- MATLAB读取文件夹下所有图片
- php读取出一个文件夹及其子文件夹下所有文件的方法示例
- Matlab 关于如何读取文件夹中的所有图片(3种方法)
- matlab 读取子文件夹下的所有图片
- C# 获取文件夹及其子文件夹下的所有文件
- 添加当前文件夹及其子文件夹到路径 addpath matlab
- matlab一个文件夹里面包含多个文件夹,读取所有文件夹内的图像路径生成list
- php自动读取文件夹下所有图片并分页显示
- matlab中怎样读取一个文件夹里面的指定类型的所有文件的名称?
- 【Java】移动文件夹及其所有子文件与子文件夹
- Matlab读取文件夹中子文件夹中的图片并修改尺寸
- 取出文件夹及其所有子文件夹中所有文件的方法
- 读取指定文件夹中所有文件名以及文件路径,并读到matlab