Matlab 读取文件夹以及子文件夹图片的方法
来源:互联网 发布:淘宝为什么不能付款 编辑:程序博客网 时间:2024/06/11 18:56
最近在写一个报告,要用Matlab读取中科院的虹膜图片库然后进行处理,下载地址:CASIA Iris Image Database (version 1.0),http://www.cbsr.ia.ac.cn/IrisDatabase.htm 。 一共108个文件夹,每个文件夹有2个子文件夹,第1个子文件夹有3张图片,第2个有4张,共756张图片,而且图片的名字也比较怪,比如图片 ‘017_1_3.bmp’ 指的是第17个参与者,第一次拍的第3张图片,而且从第1-9的文件夹前面都会加上‘00’,如图:
费了好大工夫终于用字符串连结的方法把问题解决了,然后把图片存入一个89600*756的矩阵里(图片的规格是320*280),方便以后处理。话不多说,上代码:
% CASIA database file conversion clear all;%文技夹目录path='CASIA Iris Image Database (version 1.0)\00';%子文件夹目录subpath='00';for i=1:108 if i>=10 path='CASIA Iris Image Database (version 1.0)\0'; subpath='0'; end if i>=100 path='CASIA Iris Image Database (version 1.0)\'; subpath=''; end for j=1:2 %第一个文件夹,3张图片 if j==1 for k=1:3 %读取目录filesrcpath1 = strcat(path,num2str(i),'\',num2str(j),'\',subpath,num2str(i),'_',num2str(j),'_',num2str(k),'.bmp'); %写入目录 filedespath1 = strcat(path,num2str(i),'_',num2str(j),'_',num2str(k),'.jpg'); im = imread(filesrcpath1,'bmp'); %图片重构 从320*280 到 1*89600,共756张图片 89600*756data(:,7*(i-1)+k) = reshape(im,1,280*320); %写入同一个文件夹里imwrite(im,filedespath1,'jpg'); end end %第2个文件夹,4张图片 if j==2 for h=1:4 %读取目录filesrcpath2 = strcat(path,num2str(i),'\',num2str(j),'\',subpath,num2str(i),'_',num2str(j),'_',num2str(h),'.bmp'); %写入目录filedespath2 = strcat(path,num2str(i),'_',num2str(j),'_',num2str(h),'.jpg'); im = imread(filesrcpath2,'bmp'); %图片重构 从320*280 到 1*89600,共756张图片 89600*756data(:,7*i-4+h) = reshape(im,1,280*320); %写入同一个文件夹里imwrite(im,filedespath2,'jpg'); end end endend%存入矩阵save data.mat data;以后处理的时候只要读取 data.mat 就可以了。
- Matlab 读取文件夹以及子文件夹图片的方法
- matlab 读取子文件夹下的所有图片
- matlab读取文件夹下的所有图片及其子文件夹下的所有图片
- MATLAB中从文件夹批量读取图片文件的方法
- MATLAB读取文件夹及其所有子文件夹内的图像
- MATLAB批量读取文件夹的图片
- matlab 读取文件夹下的图片
- matlab一次读取多幅图片的方法////////////读取文件夹中的所有图片or文件
- openCV读取文件夹下多张图片的方法
- matlab 批量读取文件夹内所有图片的几种方法
- Matlab从其他文件夹批量读取存储图片的心得体会
- matlab:逐个读取文件夹里以数字命名的图片
- MATLAB 读取文件夹里多幅图片文件源码
- matlab 下读取文件夹中的图片
- MATLAB读取文件夹下所有图片
- Matlab读取文件夹中子文件夹中的图片并修改尺寸
- matlab遍历文件夹下指定类型的文件以及子文件夹
- MATLAB中读取文件夹中多组图像的方法
- LeetCode24:Reverse Nodes in k-Group
- Sequence Alignment
- LeetCode25:Remove Duplicates from Sorted Array
- C++实现栈机制
- LeetCode26:Remove Element
- Matlab 读取文件夹以及子文件夹图片的方法
- 使用miniSipServer构建自己的视频电话平台
- 企业路由器配置实操经验总结
- reverse linkedlist in k group
- 一问一答的在线编程测试题小记
- mprotect
- VS2008中监视窗口和即时窗口的使用
- jquery ajax
- 【模板】网络流