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

来自:    更新日期:早些时候
利用Matlab中的imread怎么读取图片~

方法/步骤
1、在matlab软件中,读取图像数据(载入)利用的是imread函数,主要有以下4种方式:
A = imread(filename, fmt)
[X, map] = imread(...)
[...] = imread(filename)
[...] = imread(URL,...)
[...] = imread(...,Param1,Val1,Param2,Val2...)
作为初步以及最为常见的方式,采取第一种讲解。
如下图所示即为将载入的图片,图片格式(jpg) :


2、在命令窗口(Command Window)输入语句:
>> imdata = imread('haibao.jpg');
即读入图片数据保存在imdata矩阵中。如下所示,在Workspace可以看到该矩阵信息,是一个3维矩阵。


3、在读入图像数据后就可以进行各种算法操作,简单介绍几种常见的图片操作,如下代码可以将彩色图转为灰度图:
>> imdata = imread('haibao.jpg');

>> imgray = rgb2gray(imdata);

>> imshow(imgray);


4、图像二值化操作,如下所示即可:
>> imdata = imread('haibao.jpg');

>> lev = graythresh(imdata);

>> bwimg = im2bw(imdata,lev);

>> imshow(bwimg)
二值化后图像如下所示:

这样:
imgPath = 'E:/imageData/'; % 图像库路径
imgDir = dir([imgPath '*.jpg']); % 遍历所有jpg格式文件
for i = 1:length(imgDir) % 遍历结构体就可以一一处理图片了
img = imread([imgPath imgDir(i).name]); %读取每张图片
end

扩展资料:注意事项
imgDir返回的是一个结构体,包含每个图片name(名称),date(日期),bytes(字节数),isdir(是否为文件夹/目录),datenum(修改日期,连续日期号码)。一般我们仅需使用图片名称就可以完成图片遍历的工作
需要先遍历所有子文件夹,然后依次再遍历每个子文件夹下的图片。程序如下:
imgDataPath = 'E:/imageData/';
imgDataDir = dir(imgDataPath); % 遍历所有文件
for i = 1:length(imgDataDir)
if(isequal(imgDataDir(i).name,'.')||... % 去除系统自带的两个隐文件夹
isequal(imgDataDir(i).name,'..')||...
~imgDataDir(i).isdir) % 去除遍历中不是文件夹的
continue;
end
imgDir = dir([imgDataPath imgDataDir(i).name '/*.jpg']);
for j =1:length(imgDir) % 遍历所有图片
img = imread([imgDataPath imgDataDir(i).name '/' imgDir(j).name]);
end
end

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

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

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

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

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

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



  • 主要使用了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



  1. 首先定义文件夹的名称:

    imgDir='.\coimg\';

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

  2. 具体代码:


    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



用evil命令 把读入命令做成字符串和循环然后用evil 把字符串变成可执行语句

files=dir('*.jpg');for i=1:length(files)file=files(i).name;% some processI=readimagefunction(file);% other codeend


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

相关评论:
  • 17053124607如何用MATLAB读取文本文件
    董实唯1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用impo...

  • 17053124607Matlab如何读取文本文件
    董实唯1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用impo...

  • 17053124607MATLAB读取txt文件数据,
    董实唯在MATLAB中,要读取txt文件的数据,首先打开软件,点击左上角的"文件"选项,然后选择"导入数据"。在弹出的对话框中,找到并选择你需要的txt文件,注意可以设置换行方式,如逗号分隔、空格分隔或是自定义格式,按照你的需求进行选择。点击"下一步"后,文件内容就会被转化为数据组,文件名即为数据组的名称。

  • 17053124607matlab如何读取其中的一部分文件?
    董实唯一、纯数据文件(没有字母和中文,纯数字)\\x0d\\x0a对于这种txt文档,从matalb中读取就简单多了\\x0d\\x0a例如test.txt文件,内容为\\x0d\\x0a17.901 -1.1111 33.045 \\x0d\\x0a17.891 -1.1286 33.045 \\x0d\\x0a17.884 -1.1345 33.045\\x0d\\x0a可以在command window中输入load tes...

  • 17053124607在matlab中如何读取txt文件?(附代码链接)
    董实唯首先,使用dir函数来读取当前文件夹下所有的txt文件,代码如下:aFileNames = dir('*.txt');。接着,我们将这些文件名提取出来并转置,代码如下:FileNames = {aFileNames.name}';。然后,我们使用importdata函数来读取每个文件,代码如下:a = importdata(name);。你可以通过以下链接获取完整的代码...

  • 17053124607怎样利用matlab去读取一个excel表中多个sheet的数据并导入一个sheet中...
    董实唯num=xlsread(filename,-1)输入后matlab将会打开相应的exel文件,用鼠标选择需要导入的数据区域,可以切换到想要的sheet。num=xlsread(filename,sheet)其中sheet用来指定读入excel文件的第几个sheet,此时的sheet取值大于1的整数。num=xlsread(filename,sheet,'range')其中range指定一个矩形的区域,用单引号...

  • 17053124607matlab如何读取文件内容
    董实唯load(filename,A) 加载 MAT 文件 filename 中的指定变量A。对于读取这个变量A中的某一列,可以运用代码:A(:,m)可以提取A矩阵中的第m列。拓展说明:matlab中还有个代码importdata可以导入数据。A = importdata('filename'),将filename中的数据导入到工作区中,并保存为变量A;

  • 17053124607matlab如何打开文件?
    董实唯1、使用MATLAB软件:MATLAB是最常用的处理MAT文件的工具。打开MATLAB软件,然后选择“File(文件)”菜单,再选择“Open(打开)”。浏览到MAT文件所在的位置,选择要打开的文件,然后点击“Open(打开)”。2、使用Octave软件:Octave是一个开源的MATLAB兼容软件。您可以使用Octave打开MAT文件的方式与MATLAB...

  • 17053124607matlab如何读取一行数据,从而进行处理?
    董实唯1、首先输入下方的代码:function dataout=dataread(filein,fileout,line)fidin=fopen(filein,'r');fidout=fopen(fileout,'w');nline=0;while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 2、然后输入下方的代码:nline=nline+1;if nline==line fprintf(fid...

  • 17053124607如何从matlab中读取"*.txt"文本文件的格式
    董实唯可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file\/import data...\/next\/finish 也可产生一个叫test的数据文件。二、中英文和数据如test1.txt “你好 欢迎来到 振动论坛 vib.hit.edu.cn 1 11 111 1111 2 22 222 ...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网