matlab中,我想把一个文件夹里的所有图片都读入,如何做 60

把所有图片放进一个“书”中,需要用时,一页一页的翻出来。写了这样一段程序,可是变量image并没有内容... 把所有图片放进一个“书”中,需要用时,一页一页的翻出来。
写了这样一段程序,可是变量image并没有内容
展开
 我来答
百度网友db4b04636
2015-03-22 · TA获得超过2914个赞
知道小有建树答主
回答量:834
采纳率:92%
帮助的人:329万
展开全部

这是读取两层文件夹里图片的示例。

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是写图片(你不用)
然后就可以了。
我行我素850915
推荐于2017-06-15 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1693万
展开全部
jpg格式图片是m*n*3的,你用image(:,:,u)=imread()去读取、存储图片内容,是不行的,要这样:image{u}=imread(),就是用元胞数组存储。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式