Matlab 关于如何读取文件夹中的所有图片(3种方法)
来源:互联网 发布:经传主力统计指标源码 编辑:程序博客网 时间:2024/05/02 02:32
Matlab读取图片的方法有很多种, 我给出的方法思想和他们的差不多一样,但是代码的风格可能有点区别, 可以学习。
方法1:
首先定义文件夹的名称:
- imgDir='.\coimg\';
- imgDir2='.\\coimg\\%s'; 用于读取图片
具体代码:
- oldPwd = pwd;
- cd(imgDir);
- x = dir;
- listOfImages = [];
- for i = 1:length(x),
- if x(i).isdir == 0,
- listOfImages = [listOfImages; x(i)];
- end;
- end;
- cd(oldPwd);
- fid=imgDir2;
- for j = 1:length(listOfImages)
- fileName = listOfImages(j).name;
- rfid=sprintf(fid,fileName);
- Irgb=imread(rfid);
- Iset{j}=Irgb;
- end
文中 x(i).isdir==0 其实意思是跳过i=1,2时,那是isdir==1,其实是为了跳过'.','..',这个应该是操作系统的知识吧。。
最后将读取的图片放在Iset里面。
代码很简单。自己手写,测试成功
两幅图片在Iset里面啦 。。
小技巧值得注意。。。
方法2:
适合文件夹里面的图片批量处理,非常好的算法,应该值得学习。。
- function database = build_database(rt_data_dir,suffix)
- % This function is to build a database for the image sets
- % Input: rt_data_dir -- direction of image sets
- % suffix -- image format like 'jpg'
- % Output: database -- database that contains all the information of
- % images
- % Written by Wei Q
- % July. 16, 2013
- fprintf('dir the database...');
- subfolders = dir(rt_data_dir);
- database = [];
- database.imnum = 0; % total image number of the database
- database.cname = {}; % name of each class
- database.label = []; % label of each class
- database.path = {}; % contain the pathes for each image of each class
- database.nclass = 0;
- for ii = 1:length(subfolders),
- subname = subfolders(ii).name;
- if ~strcmp(subname, '.') & ~strcmp(subname, '..'),
- database.nclass = database.nclass + 1;
- database.cname{database.nclass} = subname;
- frames = dir(fullfile(rt_data_dir, subname, suffix));
- c_num = length(frames);
- database.imnum = database.imnum + c_num;
- database.label = [database.label; ones(c_num, 1)*database.nclass];
- for jj = 1:c_num,
- c_path = fullfile(rt_data_dir, subname, frames(jj).name);
- database.path = [database.path, c_path];
- end;
- end;
- end;
- disp('done!');
应该试着自己写写。
方法3:(这种方法有点特别)
- ext = {'*.jpeg','*.jpg','*.png','*.pgm'};
- images = [];
- for i = 1:length(ext)
- images = [images dir([path ext{i}])];
- end
- % images are returned with absolute path
- for i = 1:length(images)
- images(i).name = [path images(i).name];
- end
0 0
- Matlab 关于如何读取文件夹中的所有图片(3种方法)****全****
- Matlab 关于如何读取文件夹中的所有图片(3种方法)
- matlab一次读取多幅图片的方法////////////读取文件夹中的所有图片or文件
- matlab 批量读取文件夹内所有图片的几种方法
- MATLAB读取文件夹下所有图片
- matlab读取文件夹中的所有内容(用于批量处理)
- MATLAB 读取一个文件夹中的所有图像
- MATLAB的fullfile 及读取train文件夹中的所有图片 MATLAB的%%
- matlab 下读取文件夹中的图片
- matlab 读取子文件夹下的所有图片
- matlab读取文件夹下的所有图片及其子文件夹下的所有图片
- Matlab读取文件夹中子文件夹中的图片并修改尺寸
- Matlab 读取文件夹以及子文件夹图片的方法
- opencv如何读取文件夹中的图片
- MATLAB 如何批量修改文件夹下面的所有图片
- Matlab如何读入指定文件夹里的所有图片
- matlab 显示文件夹所有图片
- 如何遍历读取文件夹内所有图片并处理
- Spring MVC 与 Struts MVC的区别
- 黑马程序员_java各种排序
- iOS8 Size Classes的理解与使用
- CSS初学者到高手成长之路
- 数字图像处理MATLAB命令汇总
- Matlab 关于如何读取文件夹中的所有图片(3种方法)
- 一线城市楼市限购2015年或继续执行
- 使用Jconsole远程监控Linux系统中java服务器
- sqlite单引号的处理
- Android开发中验证码的生成
- SQL Server Management Studio中:黑SQLCMD模式
- 串口编程
- 构造方法加private
- Ubuntu 12.04 安装NVIDIA 驱动、CUDA、CAFFE配置