Matlab(读取一个文件夹下多个子文件夹中的多个指定格式的文件)

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

    推荐阅读