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

Matlab需要读取一个文件夹下多个子文件夹中的多个指定格式的文件,这里以读取*.JPG格式的文件为例

目录

分步

将程序合并一下


分步

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值