㈠ 怎样用matlab读取一个文件夹下的多个子文件夹中的多个jpg图片,急用啊~~~
这个简单,参考如下:
imgPath='E:/imageData/';%图像库路径
imgDir=dir([imgPath'*.jpg']);%遍历所有jpg格式文件
fori=1:length(imgDir)%遍历结构体就可以一一处理图片了
img=imread([imgPathimgDir(i).name]);%读取每张图片
(1)matlab读取图片文件夹扩展阅读:
需要先遍历所有子文件夹,然后依次再遍历每个子文件夹下的图片,程序如下。
imgDataPath='E:/imageData/';
imgDataDir=dir(imgDataPath);%遍历所有文件
fori=1:length(imgDataDir)
if(isequal(imgDataDir(i).name,'.')||...%去除系统自带的两个隐文件夹
isequal(imgDataDir(i).name,'..')||...
~imgDataDir(i).isdir)%去除遍历中不是文件夹的
continue;
end
imgDir=dir([imgDataPathimgDataDir(i).name'/*.jpg']);
forj=1:length(imgDir)%遍历所有图片
img=imread([imgDataPathimgDataDir(i).name'/'imgDir(j).name]);
end
end
ImgDir返回一个包含每个图像名称、日期、字节、isdir和datenum的结构。一般情况下,我们只需要用图片的名称来完成图片的遍历工作
㈡ 想用matlab打开一个文件夹,然后自己选取文件夹中一幅图像读取
[filename,pathname]=uigetfile('*.jpg','读取图片文件');%选择图片文件
ifisequal(filename,0)%判断是否选择
msgbox('没有选择任何图片');
else
pathfile=fullfile(pathname,filename);%获得图片路径
M=imread(pathfile);%将图片读入矩阵
image(M);%绘制图片
end
㈢ matlab读取任意路径下文件
你可以复制过来嘛,实在不行可以修改工作区的,调整到你要的目录就好了
具体如下
cd空格路径
如
cd f
将当前工作区域转换到f盘
这样的话你要的就是
cd pathname
fopen(filename)
㈣ matlab 怎么打开工作空间中的文件夹
楼主可以用数字来命名文件夹和文件,然后用matlab里面的字符串函数,把循环的变量变成字符串,用strcat函数合并到路径那里
举个简单的例子,例如要读文件夹“1”里面的名字为1~10的jpg文件,可以用以下程序:
X=zeros(10,200);
for i=1:10
url=strcat('c:\1\',num2str(i));
url=strcat(url,'.jpg');
X(i)=imread(url);
end
以上就是打开10个图片的程序,你用两个循环,就可以打开文件夹名字为1~10,文件名为1~40的文件了
㈤ 怎么用MATLAB批量读取一个文件夹里面的图片 并进行处理呢
1 图像按编号命名抄: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
3 处理图像
-----------------------
如果图像很多,那么最好这样,第二步和第三步合并
for i=1:n
imageName=strcat(num2str(i),'.jpg');
I = imread(imageName);
处理当前图像
end
㈥ 用MATLAB如何读取一个文件夹里的图片
1、查看图片所在的位置。
㈦ matlab中,我想把一个文件夹里的所有图片都读入,如何做
这是读取两层文件夹里图片的示例。
java">clc;
clear;
fatherPath=['C:UserschenDesktop人脸识别faces'];
dirs=dir(fatherPath);
dircell=struct2cell(dirs);
fori=3:length(dircell)
subdirs=dircell(1,i);
SonPath=[fatherPath''cell2mat(subdirs)];
%SonPath=[fatherPath''cell2mat(subdirs)'*.pgm'];
dirs2=dir(SonPath);
dircell2=struct2cell(dirs2);
forj=3:length(dirs2)
PictureName=dircell2(1,j);
PicturePath=[SonPath''cell2mat(PictureName)];
tempimg=imread(PicturePath);
%imgname=[SonPath''cell2mat(PictureName)'.png'];
imgname=['C:UserschenDesktop人脸识别png'cell2mat(PictureName)'.png'];
imwrite(tempimg,imgname);
end
end