-
MATLAB 打开文件夹,读取文件夹下图片
2019-04-01 22:27:46MATLAB 打开文件夹,读取文件夹下图片 前言 在使用MATLAB进行图像处理,或者进行其他的工作时,我们常常需要读取文件夹下的一个或者若干图片,当我们知道要读取的图片在哪个文件夹下,是哪个文件的时候,我们可以...MATLAB 打开文件夹,读取文件夹下图片
前言
在使用MATLAB进行图像处理,或者进行其他的工作时,我们常常需要读取文件夹下的一个或者若干图片,当我们知道要读取的图片在哪个文件夹下,是哪个文件的时候,我们可以直接使用路径+文件名的形式,对图片进行读取。
但是有时候我们想要程序能够弹出一个选项框,让我们自己能够选择要读取的文件夹及文件夹下的某个文件,而不用每次读取都手动的输入路径名+文件名。实现
具体该怎么实现呢?
我将给出完整的实现代码:
[fileName, filePath] = uigetfile('.jpg', 'select file'); file = [filePath, fileName]; I = imshow(file);
在代码中,filePath为读取的文件所在的路径,fileName为读取的文件的文件名称,
uigetfile(’.jpg’, ‘select file’)中的第一项为读取的文件的格式,可以自己设置,我要读取的是jpg格式的图像,所以,为后缀名.jpg。第二项为提示项,这个无所谓的。运行之后的效果如下:
总结
这个实现其实并不难,可以说很简单,但是这种功能并不是经常用到,有可能在想要使用的时候,就忘记了该怎么实现这种功能,所以,在这篇博客中进行了记录,方便以后在需要使用的时候,能够直接查看。也希望能够帮助到同样有需求的你。
-
Matlab 读取文件夹以及子文件夹图片的方法
2013-02-23 07:21:14最近在写一个报告,要用Matlab读取中科院的虹膜图片库然后进行处理,下载地址:CASIA Iris Image Database (version 1.0),http://www.cbsr.ia.ac.cn/IrisDatabase.htm 。 一共108个文件夹,每个文件夹有2个子...最近在写一个报告,要用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),方便以后处理。话不多说,上代码:
以后处理的时候只要读取 data.mat 就可以了。% 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*756 data(:,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*756 data(:,7*i-4+h) = reshape(im,1,280*320); %写入同一个文件夹里 imwrite(im,filedespath2,'jpg'); end end end end %存入矩阵 save data.mat data;
-
MATLAB读取文件夹所有图片,按顺序
2018-10-29 17:07:54clc; clear; fileDir = 'E:\MATLAB_... %图片所在文件夹 filePattern = [fileDir, '*.dcm']; %图片格式 dirOutput = dir(filePattern); %获取图片名称字符串,并按时间排序 [~, ind] = sort([dirOutput(:).datenum],...clc; clear; fileDir = 'E:\MATLAB_study\matlab_day01\dcm1\DCM\'; %图片所在文件夹 filePattern = [fileDir, '*.dcm']; %图片格式 dirOutput = dir(filePattern); %获取图片名称字符串,并按时间排序 [~, ind] = sort([dirOutput(:).datenum], 'ascend'); %ind 图片数量排序 a = dirOutput(ind); for i=1:length(ind) for j=1:2 name2=['E:\MATLAB_study\matlab_day01\dcm1\DCM\',a(i).name]; %按顺序改名字 pic = dicomread( name2,'frames',j); pic = pic(99:671,1:766); name = ['E:\MATLAB_study\matlab_day01\dcm1\image\',num2str(i),'_',num2str(j),'.png']; imwrite(pic,name); end end
-
Matlab读取文件夹中子文件夹中的图片并修改尺寸
2017-06-02 11:14:34今天被师兄问到如何利用matlab批处理图片,觉得很简单嘛 就让他去百度 结果只百度到处理文件夹中图片的程序 好吧 这里放上如何处理文件夹中子文件夹的图片 现状:在一个名为casia的文件夹中,里面有很多子文件夹...今天被师兄问到如何利用matlab批处理图片,觉得很简单嘛
就让他去百度 结果只百度到处理文件夹中图片的程序
好吧 这里放上如何处理文件夹中子文件夹的图片
现状:在一个名为casia的文件夹中,里面有很多子文件夹,每个子文件夹均以人名为文件件名,每个子文件夹中有一定数量的图片,如图所示
casia文件夹图示:
casia文件夹中 子文件夹图示:
目的:将casia文件夹中->每个子文件夹中的图片进行修改大小处理
code:
%图片路径 src='D:\casia'; %存取路径 des='D:\resize-casia'; pathlist1=dir(src); filenum1=length(pathlist1); filenamelist1={pathlist1.name}; %由于得到的filenamelist第一个是.第二个是..第三个才是文件夹名, %故i从3开始 for i=3:filenum1 %做一次嵌套,目的是读取子文件夹中的图片 imgsrcpath=[src,'\',filenamelist1{i}]; imgdespath=[des,'\',filenamelist1{i}]; pathlist2=dir(imgsrcpath); filenum2=length(pathlist2); filenamelist2={pathlist2.name}; for j=3:filenum2 imgsrcpath1=[imgsrcpath,'\',filenamelist2{j}]; imgdespath1=[imgdespath,'\',filenamelist2{j}]; imgsrc=imread(imgsrcpath1); %imgdes=imresize(imgsrc,[160,160],'bilinear'); imgdes=imresize(imgsrc,[160,160]); imwrite(imgdes,imgdespath1); end %这个i用来看处理到第几个文件夹了 i end
以上,即可完成处理
其实,关于图片大小的resize,如果只是涉及到一个文件夹内的图片大小处理,有个非常简单的方法,你首先需要一个看图工具,现在基本上所有看图工具都有批量转换尺寸的功能
点击批量改尺寸后
根据自己的需求修改即可
-
MATLAB读取文件夹下所有图片
2016-04-11 22:41:25%%%%%DPM设定不同的阈值用不同的图片测试 file_path = '/home/jack/Desktop/data/test/';% 图像文件夹路径 img_path_list = dir(strcat(file_path,'*.png'));%获取该文件夹中所有png格式的图像 ... -
matlab 读取文件夹下的图片
2017-03-04 13:02:05自己看网上的图片,自己写的,仅供参考 -
matlab读取文件夹中所有的图片并写入图片到指定文件夹
2018-03-26 15:40:14Original_image_dir = '...%原始图片路径right_image_dir = 'F:\faces\re\bad\bad\';%删选出了200*200图片保存路径fpath = fullfile(Original_image_dir, '*.jpg');im_dir = dir(fpath);im_num = length(im_dir);... -
matlab读取文件夹下的所有图片及其子文件夹下的所有图片
2017-12-12 15:55:52做图像处理实验,经常需要遍历当前文件下所有图片。matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的。函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体就可以达到访问所有文件的目的... -
matlab 读取文件夹 一张图片/多张图片(也可以是其他文件) 代码
2019-12-27 18:06:321、读取一张图片代码 [fileName, filePath] = uigetfile('.jpg' , 'select file'); file = [filePath, fileName]; I = imshow(file); 任意命名,调用即可 2、一次读取多张图片 代码 %一次读取多张图片 ... -
Matlab批量读取文件夹内图片
2018-07-06 10:30:20Matlab读取文件夹里所有的文件image = dir('C:\images\*.*');files = dir(fullfile('C:\\Users\\Administrator\\Desktop\\sd\\','*.jpg')); lengthFiles = length(files); for i = 1:lengthFiles; Img = imread... -
matlab批量读取文件夹中图片
2020-06-25 14:56:51matlab批量读取文件夹中图片 file_path ='E:\graduate_student\Information_Hiding_CS_code\pictureDB\misc\';% 图像文件夹路径(注意misc文件夹后有一个斜杠) img_path_list = dir(strcat(file_path,'*.Tiff'));%... -
MATLAB读取文件夹及其所有子文件夹内的图像
2019-03-11 16:06:501. 遍历当前文件夹下所有图片 做图像处理实验,经常需要遍历当前文件下所有图片。matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的。函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体... -
MATLAB 读取文件夹里多幅图片文件源码
2013-09-16 13:06:32%%%%%% 读取 碎片的边缘信息源程序 clear all for count1=0:1:208 if(count1) str1=num2str(count1); % 转字符串 str2=['0','0',str1,'a','.bmp']; str3=['0','0',str1,'b','.bmp']; elseif -
matlab创建文件夹,读取文件夹里.jpg图片
2020-01-17 10:30:35% new_folder 保存要创建的文件夹,是绝对路径+文件夹名称 mkdir(new_folder); % mkdir()函数创建文件夹 2、 之后我们查询C盘目录下,发现运行代码后创建了test文件夹。 这里一定记得 new_folder = ‘C:/test’; 中... -
matlab文件夹图片批量读取
2019-12-05 17:53:05基于matlab:批量读取文件夹下图片,可分.jpg/.png/.bmp/.gif进行读取。附件包含matlab自带的三种图像,可进行测试。 -
matlab中读取文件夹图片存在一个大矩阵中
2018-03-20 10:37:31最后全部的图像数据存在举证A中,myfile=dir('C:\Users\Administrator\Desktop\读取文件夹图片\images\*.bmp');lengthfile=length(myfile);for n=1:lengthfile filename=strcat('C:\Users\Ad... -
matlab 读取同一文件中所有图像_matlab 下读取文件夹中的图片
2020-12-28 21:22:26假如读取F盘English文件夹中的所有bmp图片:Files = dir(strcat('F:\\english\\','*.bmp'));LengthFiles = length(Files);for i = 1:LengthFiles;Img = imread(strcat('F:\english\',Files(i).name));%自己写图像... -
matlab读取文件夹下指定类型的文件
2016-10-19 16:23:52在项目中,经常碰到批量处理一些图片的情况,喜欢用matlab做,在这里总结一下: 遍历文件夹中的指定类型文件 mm=dir('*.jpg'); %遍历当前目录下的jpg格式文件,如果不是当前目录下的,可以写在''中 mm为num*1... -
MATLAB 遍历文件夹图片
2020-12-17 12:27:16MATLAB 遍历文件夹图片第一种:有文件夹,图片在指定的文件夹下第二种:无文件夹,图片在当前路径的情况 第一种:有文件夹,图片在指定的文件夹下 clc imgPath = 'E:\my_img\'; % 图像库路径 imgDir = dir([imgPath ... -
MATLAB下读取文件夹的图片,并尺度化
2019-04-16 09:58:33MATLAB下读取文件夹的图片,并尺度化 file_path = ' F:\img';%要操作的图像文件夹的路径 img_path_list = dir(strcat (file_path,'*.jpg') );%获取该文件夹中所有的jpg格式的图片 img_num = length(img_path_list);/... -
matlab 读取同一文件中所有图像_matlab 批量读取文件夹内所有图片的几种方法
2020-12-19 00:30:08直接上代码:% 如果你的图片命名...file_path = '你的需要处理的图片的文件夹路径\';img_path_list = dir(strcat(file_path,'*.bmp'));img_num = length(img_path_list);if img_num > 0for j = 1:img_numimage =... -
matlab读取文件夹中的所有内容(用于批量处理)
2016-05-09 10:35:57假如读取F盘English文件夹中的所有bmp图片: Files = dir(strcat('F:\\english\\','*.bmp')); LengthFiles = length(Files); for i = 1:LengthFiles; Img = imread(strcat('F:\english\',Files(i).name)); ... -
matlab 读取子文件夹下的所有图片
2017-12-02 06:44:36matlab 读取子文件夹下的所有图片 并拷贝到另外一个文件夹下面。 cifar10数据按照不同的分类存储在10个文件夹下面,要复制到同一个文件夹train_image下 filetrain = genpath('D:\CaffeInfo\B_DataCreate\cifar-10... -
MATLAB批量读取文件夹的图片
2012-05-07 15:33:331 图像按编号命名:1.jpg, 2.jpg,....,n.jpg 2 循环读图 I=cell(1,n); for i=1:n imageName=strcat(num2str(i),'.jpg'); I{i} = imread(imageName); { //处理当前图像 } end -
matlab 批量读取文件夹中的图片、处理后、保存于另一文件夹
2017-05-05 09:03:43相信这个问题应该是每一个刚刚接触图像处理的小伙伴们在一开始最需要掌握的技能,否则一张一张的读取图片费时费力,并且遇到大型的项目工程,成百上千张图片一张一张进行读取也是...第一步:批量读取文件夹中的图片: -
Matlab 读取多层文件夹内所有的图片获取路径
2020-09-07 16:33:06目标:在一个文件夹内,按不同编号排列了很多子文件夹,每个子文件夹内放着若干张图片,一次性需要把这些图片读取出来,并且生成对应的路径。 代码如下: file_path = '/media/will/Will/Face_dataset/dataset_1/';%... -
matlab 下读取文件夹中的图片
2013-10-13 17:05:22假如读取F盘English文件夹中的所有bmp图片: Files = dir(strcat('F:\\english\\','*.bmp')); LengthFiles = length(Files); for i = 1:LengthFiles; Img = imread(strcat('F:\english\',... -
matlab 批量读取文件夹内所有图片的几种方法
2017-10-30 18:57:13直接上代码: % 如果你的图片命名方式是1...file_path = '你的需要处理的图片的文件夹路径\'; img_path_list = dir(strcat(file_path,'*.bmp')); img_num = length(img_path_list); if img_num > 0 for j = 1:...