Matlab需要读取一个文件夹下多个子文件夹中的多个指定格式的文件,这里以读取*.JPG格式的文件为例
【Matlab(读取一个文件夹下多个子文件夹中的多个指定格式的文件)】目录
分步
将程序合并一下
分步 1、首先确定包含多个子文件夹的总文件夹
maindir = 'E:\data\Orl';
2、再确定有哪些子文件夹,并过滤掉干扰的文件
subdir =dir( maindir );
% 确定子文件夹
for i = 1 : length( subdir )
if( isequal( subdir( i ).name, '.' ) ||isequal( subdir( i ).name, '..' ) || ~subdir( i ).isdir )% 如果不是目录跳过
continue;
end
3、找出子文件中的目标文件
subdirpath = fullfile( maindir, subdir( i ).name, '*.jpg' );
images = dir( subdirpath );
% 在这个子文件夹下找后缀为jpg的文件
4、对目标文件进行读取
% 对目标文件进行读取
for j = 1 : length( images )
imagepath = fullfile( maindir, subdir( i ).name, images( j ).name);
% 文件所在路径
Img = imread(imagepath);
% 读取文件
Img = imresize(Img,[96,160]);
% 改变图片大小
Img = rgb2gray(Img);
% 灰度图像
imshow(Img) % 查看图片
end
end
将程序合并一下
clear;
clc
% 确定包含多个子文件夹的总文件夹
maindir = 'E:\data\Orl';
% 再确定有哪些子文件夹,并过滤掉干扰的文件
subdir =dir( maindir );
% 确定子文件夹
for i = 1 : length( subdir )
if( isequal( subdir( i ).name, '.' ) ||isequal( subdir( i ).name, '..' ) || ~subdir( i ).isdir )% 如果不是目录跳过
continue;
end
% 找出子文件中的目标文件
subdirpath = fullfile( maindir, subdir( i ).name, '*.jpg' );
images = dir( subdirpath );
% 在这个子文件夹下找后缀为jpg的文件
% 对目标文件进行读取
for j = 1 : length( images )
imagepath = fullfile( maindir, subdir( i ).name, images( j ).name);
% 文件所在路径
Img = imread(imagepath);
% 读取文件
Img = imresize(Img,[96,160]);
% 改变图片大小
Img = rgb2gray(Img);
% 灰度图像
imshow(Img) % 查看图片
end
end
原文:https://www.cnblogs.com/smqh-bokeyuan/p/11406549.html
推荐阅读
- 最优化问题|改进交叉算子的自适应人工蜂群黏菌算法
- matlab|嵌入均衡池的黏菌优化算法
- 最优化问题|加入领导者的黏菌优化算法
- MATLAB图形界面|基于Matlab的汽车出入库计时计费系统
- Matlab旅程|MATLAB的结构化程序设计
- matlab 内存管理 清理内存
- matlab中使用colormap没有效果
- Matlab|圆柱绕流
- MATLAB|Splart-Allmaras湍流模型及MATLAB编程~
- regionprops统计被标记的区域的面积分布,显示区域总数。