用MATLAB如何读取一个文件夹里的图片

现在要一次性读入一个文件夹里的全部图片,怎么用MATLAB来实现,如果一张一张来的话,要不断改名字,很麻烦,可以一次性吗?谢谢

1、查看图片所在的位置。

2、输入命令I=imread('E:\1.jpg')。

3、点击右边工作区的名称为I的,可以查看图片的编码。

4、输入命令imsho(I),选择命令,右击,执行所选内容。

5、或选择命令,点击上端的“运行并前进”。

6、如图所示,图片就显示出来了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-03

    主要使用了imread函数,for循环指令,即函数imread用于读取图片文件中的数据,for用于读取所有图片。可以在matlab的命令窗口中输入doc imread或者help imread即可获得该函数的帮助信息。

clear;clc
[f,p]=uigetfile('*.*','选择图像文件');
if f
A=imread(strcat(p,f));
imshow(A);
end

    下面这段代码实现文件夹下所有图片的读入并以mat格式存储

foldername=dir('总文件夹名字')% 用于得出所有子文件夹的名字
for i=1:length(foldername)-2
    filename=strcat('总文件夹名字\',foldername(i+2).name);% 读取子文件夹的名字和路径
    filenmae_bmp=dir(strcat(filename,'\*.bmp'));% 读取子文件夹图片,bmp格式
    imagedata=imread(filename_bmp);% 读取图片
    save('存放路径\名字.mat',imagedata);
end


第2个回答  2015-11-13

    首先定义文件夹的名称:

    imgDir='.\coimg\';

    imgDir2='.\\coimg\\%s';  用于读取图片

    具体代码:


    oldPwd = pwd;

    cd(imgDir);

    x = dir;

    listOfImages = [];

    for i = 1:length(x),

       if x(i).isdir == 0,

              listOfImages = [listOfImages; x(i)];

        end;

    end;

    cd(oldPwd);


    fid=imgDir2;

    for j = 1:length(listOfImages)

        fileName = listOfImages(j).name;

        rfid=sprintf(fid,fileName);

        Irgb=imread(rfid);

        Iset{j}=Irgb;

    end

本回答被网友采纳
第3个回答  2013-10-21
用evil命令 把读入命令做成字符串和循环然后用evil 把字符串变成可执行语句
第4个回答  2013-10-21
files=dir('*.jpg');for i=1:length(files)file=files(i).name;% some processI=readimagefunction(file);% other codeend