2024-10-01 18:57:46
这是读取两层文件夹里图片的示例。
clc;
clear;
fatherPath=['C:\Users\chen\Desktop\人脸识别\faces'];
dirs=dir(fatherPath);
dircell=struct2cell(dirs);
for i=3:length(dircell)
subdirs=dircell(1,i);
SonPath=[fatherPath '\' cell2mat(subdirs)];
%SonPath=[fatherPath '\' cell2mat(subdirs) '\*.pgm'];
dirs2=dir(SonPath);
dircell2=struct2cell(dirs2);
for j=3:length(dirs2)
PictureName=dircell2(1,j);
PicturePath=[SonPath '\' cell2mat(PictureName)];
tempimg=imread(PicturePath);
% imgname=[SonPath '\' cell2mat(PictureName) '.png'];
imgname=['C:\Users\chen\Desktop\人脸识别\png\' cell2mat(PictureName) '.png'];
imwrite(tempimg,imgname);
end
end
看不懂啊!我就一层就行了。就想把图片都存在一个数组中
数据是人脸识别的图片。
dir是读取目录下所有文件的信息
struct2cell将结构体转化为元胞
cell2mat是将元胞转化为矩阵
然后拼接字符串路径
imread是读取图片
imwrite是写图片(你不用)
然后就可以了。
读进那个数组里了?如果想调用一个出来,怎么调
我没存,我实现的功能是赋值;可以在循环外面,定义一个大元胞数组。然后读取一个路径,就把这个路径放到元胞数组里。 需要的时候imshow就好了。
2024-10-01 10:54:16