精华内容
下载资源
问答
  • MATLAB 打开文件夹,读取文件夹图片 前言 在使用MATLAB进行图像处理,或者进行其他的工作时,我们常常需要读取文件夹下的一个或者若干图片,当我们知道要读取的图片在哪个文件夹下,是哪个文件的时候,我们可以...

    MATLAB 打开文件夹,读取文件夹下图片

    前言

    在使用MATLAB进行图像处理,或者进行其他的工作时,我们常常需要读取文件夹下的一个或者若干图片,当我们知道要读取的图片在哪个文件夹下,是哪个文件的时候,我们可以直接使用路径+文件名的形式,对图片进行读取。
    但是有时候我们想要程序能够弹出一个选项框,让我们自己能够选择要读取的文件夹及文件夹下的某个文件,而不用每次读取都手动的输入路径名+文件名。

    实现

    具体该怎么实现呢?

    我将给出完整的实现代码:

    [fileName, filePath] = uigetfile('.jpg', 'select file');
    file = [filePath, fileName];
    I = imshow(file);
    

    在代码中,filePath为读取的文件所在的路径,fileName为读取的文件的文件名称,
    uigetfile(’.jpg’, ‘select file’)中的第一项为读取的文件的格式,可以自己设置,我要读取的是jpg格式的图像,所以,为后缀名.jpg。第二项为提示项,这个无所谓的。

    运行之后的效果如下:
    在这里插入图片描述

    总结

    这个实现其实并不难,可以说很简单,但是这种功能并不是经常用到,有可能在想要使用的时候,就忘记了该怎么实现这种功能,所以,在这篇博客中进行了记录,方便以后在需要使用的时候,能够直接查看。也希望能够帮助到同样有需求的你。

    展开全文
  • 最近在写一个报告,要用Matlab读取中科院的虹膜图片库然后进行处理,下载地址:CASIA Iris Image Database (version 1.0),http://www.cbsr.ia.ac.cn/IrisDatabase.htm 。 一共108个文件夹,每个文件夹有2个子...

    最近在写一个报告,要用Matlab读取中科院的虹膜图片库然后进行处理,下载地址:CASIA Iris Image Database (version 1.0),http://www.cbsr.ia.ac.cn/IrisDatabase.htm 。 一共108个文件夹,每个文件夹有2个子文件夹,第1个子文件夹有3张图片,第2个有4张,共756张图片,而且图片的名字也比较怪,比如图片 ‘017_1_3.bmp’ 指的是第17个参与者,第一次拍的第3张图片,而且从第1-9的文件夹前面都会加上‘00’,如图:


    费了好大工夫终于用字符串连结的方法把问题解决了,然后把图片存入一个89600*756的矩阵里(图片的规格是320*280),方便以后处理。话不多说,上代码:

    % CASIA database file conversion 
    clear all;
    
    %文技夹目录
    path='CASIA Iris Image Database (version 1.0)\00';
    %子文件夹目录
    subpath='00';
    
    for i=1:108
        
                if i>=10
                    path='CASIA Iris Image Database (version 1.0)\0';
                    subpath='0';
                end
                
                if i>=100
                     path='CASIA Iris Image Database (version 1.0)\';
                     subpath='';
                end
        
        for j=1:2
            %第一个文件夹,3张图片
            if j==1
            for k=1:3           
            %读取目录
    		filesrcpath1 = strcat(path,num2str(i),'\',num2str(j),'\',subpath,num2str(i),'_',num2str(j),'_',num2str(k),'.bmp');       
    		%写入目录
    	    filedespath1 = strcat(path,num2str(i),'_',num2str(j),'_',num2str(k),'.jpg');
            
    		im = imread(filesrcpath1,'bmp');
            %图片重构 从320*280 到 1*89600,共756张图片 89600*756
    		data(:,7*(i-1)+k) = reshape(im,1,280*320);
            %写入同一个文件夹里
    		imwrite(im,filedespath1,'jpg');       
            end
            end
            %第2个文件夹,4张图片
            if j==2
            for h=1:4
            %读取目录
    		filesrcpath2 = strcat(path,num2str(i),'\',num2str(j),'\',subpath,num2str(i),'_',num2str(j),'_',num2str(h),'.bmp'); 
            %写入目录
    		filedespath2 = strcat(path,num2str(i),'_',num2str(j),'_',num2str(h),'.jpg');
            
    		im = imread(filesrcpath2,'bmp');
            %图片重构 从320*280 到 1*89600,共756张图片 89600*756
    		data(:,7*i-4+h) = reshape(im,1,280*320);
            %写入同一个文件夹里
    		imwrite(im,filedespath2,'jpg');       
            end
            end
            
        end
    end
    %存入矩阵
    save data.mat data;
    以后处理的时候只要读取 data.mat 就可以了。

    展开全文
  • MATLAB读取文件夹所有图片,按顺序

    千次阅读 2018-10-29 17:07:54
    clc; clear; fileDir = 'E:\MATLAB_... %图片所在文件夹 filePattern = [fileDir, '*.dcm']; %图片格式 dirOutput = dir(filePattern); %获取图片名称字符串,并按时间排序 [~, ind] = sort([dirOutput(:).datenum],...
    clc;
    clear;
    fileDir = 'E:\MATLAB_study\matlab_day01\dcm1\DCM\'; %图片所在文件夹
    filePattern = [fileDir, '*.dcm']; %图片格式
    dirOutput = dir(filePattern); %获取图片名称字符串,并按时间排序
    [~, ind] = sort([dirOutput(:).datenum], 'ascend'); %ind 图片数量排序
    a = dirOutput(ind); 
    for i=1:length(ind)
        for j=1:2
            name2=['E:\MATLAB_study\matlab_day01\dcm1\DCM\',a(i).name]; %按顺序改名字
            pic = dicomread( name2,'frames',j);
            pic = pic(99:671,1:766);
            name = ['E:\MATLAB_study\matlab_day01\dcm1\image\',num2str(i),'_',num2str(j),'.png'];
            imwrite(pic,name);
        end
    end
    
    展开全文
  • Matlab读取文件夹中子文件夹中的图片并修改尺寸

    千次阅读 热门讨论 2017-06-02 11:14:34
    今天被师兄问到如何利用matlab批处理图片,觉得很简单嘛 就让他去百度 结果只百度到处理文件夹图片的程序 好吧 这里放上如何处理文件夹中子文件夹图片 现状:在一个名为casia的文件夹中,里面有很多子文件夹...

    今天被师兄问到如何利用matlab批处理图片,觉得很简单嘛

    就让他去百度 结果只百度到处理文件夹中图片的程序

    好吧 这里放上如何处理文件夹中子文件夹的图片



    现状:在一个名为casia的文件夹中,里面有很多子文件夹,每个子文件夹均以人名为文件件名,每个子文件夹中有一定数量的图片,如图所示

    casia文件夹图示:



    casia文件夹中 子文件夹图示:



    目的:将casia文件夹中->每个子文件夹中的图片进行修改大小处理

    code:

    %图片路径
    src='D:\casia';
    %存取路径
    des='D:\resize-casia';
    pathlist1=dir(src);
    filenum1=length(pathlist1);
    filenamelist1={pathlist1.name};
    %由于得到的filenamelist第一个是.第二个是..第三个才是文件夹名,
    %故i从3开始
    for i=3:filenum1
        %做一次嵌套,目的是读取子文件夹中的图片
        imgsrcpath=[src,'\',filenamelist1{i}];
        imgdespath=[des,'\',filenamelist1{i}];
        pathlist2=dir(imgsrcpath);
        filenum2=length(pathlist2);
        filenamelist2={pathlist2.name};
        for j=3:filenum2
            imgsrcpath1=[imgsrcpath,'\',filenamelist2{j}];
            imgdespath1=[imgdespath,'\',filenamelist2{j}];
            imgsrc=imread(imgsrcpath1);
            %imgdes=imresize(imgsrc,[160,160],'bilinear');
            imgdes=imresize(imgsrc,[160,160]);
            imwrite(imgdes,imgdespath1);
        end
        %这个i用来看处理到第几个文件夹了
         i
    end
    
    
    

    以上,即可完成处理



    其实,关于图片大小的resize,如果只是涉及到一个文件夹内的图片大小处理,有个非常简单的方法,你首先需要一个看图工具,现在基本上所有看图工具都有批量转换尺寸的功能


    点击批量改尺寸后


    根据自己的需求修改即可

    展开全文
  • MATLAB读取文件夹下所有图片

    千次阅读 2016-04-11 22:41:25
    %%%%%DPM设定不同的阈值用不同的图片测试  file_path = '/home/jack/Desktop/data/test/';% 图像文件夹路径   img_path_list = dir(strcat(file_path,'*.png'));%获取该文件夹中所有png格式的图像   ...
  • matlab 读取文件夹下的图片

    千次阅读 2017-03-04 13:02:05
    自己看网上的图片,自己写的,仅供参考
  • Original_image_dir = '...%原始图片路径right_image_dir = 'F:\faces\re\bad\bad\';%删选出了200*200图片保存路径fpath = fullfile(Original_image_dir, '*.jpg');im_dir = dir(fpath);im_num = length(im_dir);...
  • 做图像处理实验,经常需要遍历当前文件下所有图片matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的。函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体就可以达到访问所有文件的目的...
  • 1、读取一张图片代码 [fileName, filePath] = uigetfile('.jpg' , 'select file'); file = [filePath, fileName]; I = imshow(file); 任意命名,调用即可 2、一次读取多张图片 代码 %一次读取多张图片 ...
  • Matlab批量读取文件夹图片

    万次阅读 2018-07-06 10:30:20
    Matlab读取文件夹里所有的文件image = dir('C:\images\*.*');files = dir(fullfile('C:\\Users\\Administrator\\Desktop\\sd\\','*.jpg')); lengthFiles = length(files); for i = 1:lengthFiles; Img = imread...
  • matlab批量读取文件夹图片

    千次阅读 2020-06-25 14:56:51
    matlab批量读取文件夹图片 file_path ='E:\graduate_student\Information_Hiding_CS_code\pictureDB\misc\';% 图像文件夹路径(注意misc文件夹后有一个斜杠) img_path_list = dir(strcat(file_path,'*.Tiff'));%...
  • 1. 遍历当前文件夹下所有图片 做图像处理实验,经常需要遍历当前文件下所有图片matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的。函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体...
  • %%%%%% 读取 碎片的边缘信息源程序 clear all for count1=0:1:208 if(count1) str1=num2str(count1); % 转字符串 str2=['0','0',str1,'a','.bmp']; str3=['0','0',str1,'b','.bmp']; elseif
  • % new_folder 保存要创建的文件夹,是绝对路径+文件夹名称 mkdir(new_folder); % mkdir()函数创建文件夹 2、 之后我们查询C盘目录下,发现运行代码后创建了test文件夹。 这里一定记得 new_folder = ‘C:/test’; 中...
  • 基于matlab:批量读取文件夹图片,可分.jpg/.png/.bmp/.gif进行读取。附件包含matlab自带的三种图像,可进行测试。
  • 最后全部的图像数据存在举证A中,myfile=dir('C:\Users\Administrator\Desktop\读取文件夹图片\images\*.bmp');lengthfile=length(myfile);for n=1:lengthfile filename=strcat('C:\Users\Ad...
  • 假如读取F盘English文件夹中的所有bmp图片:Files = dir(strcat('F:\\english\\','*.bmp'));LengthFiles = length(Files);for i = 1:LengthFiles;Img = imread(strcat('F:\english\',Files(i).name));%自己写图像...
  • matlab读取文件夹下指定类型的文件

    千次阅读 2016-10-19 16:23:52
    在项目中,经常碰到批量处理一些图片的情况,喜欢用matlab做,在这里总结一下: 遍历文件夹中的指定类型文件 mm=dir('*.jpg'); %遍历当前目录下的jpg格式文件,如果不是当前目录下的,可以写在''中 mm为num*1...
  • MATLAB 遍历文件夹图片

    2020-12-17 12:27:16
    MATLAB 遍历文件夹图片第一种:有文件夹,图片在指定的文件夹下第二种:无文件夹,图片在当前路径的情况 第一种:有文件夹,图片在指定的文件夹下 clc imgPath = 'E:\my_img\'; % 图像库路径 imgDir = dir([imgPath ...
  • MATLAB读取文件夹图片,并尺度化 file_path = ' F:\img';%要操作的图像文件夹的路径 img_path_list = dir(strcat (file_path,'*.jpg') );%获取该文件夹中所有的jpg格式的图片 img_num = length(img_path_list);/...
  • 直接上代码:% 如果你的图片命名...file_path = '你的需要处理的图片文件夹路径\';img_path_list = dir(strcat(file_path,'*.bmp'));img_num = length(img_path_list);if img_num > 0for j = 1:img_numimage =...
  • 假如读取F盘English文件夹中的所有bmp图片: Files = dir(strcat('F:\\english\\','*.bmp')); LengthFiles = length(Files); for i = 1:LengthFiles;  Img = imread(strcat('F:\english\',Files(i).name)); ...
  • matlab 读取文件夹下的所有图片

    千次阅读 2017-12-02 06:44:36
    matlab 读取文件夹下的所有图片 并拷贝到另外一个文件夹下面。 cifar10数据按照不同的分类存储在10个文件夹下面,要复制到同一个文件夹train_image下 filetrain = genpath('D:\CaffeInfo\B_DataCreate\cifar-10...
  • MATLAB批量读取文件夹图片

    千次阅读 2012-05-07 15:33:33
    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
  • 相信这个问题应该是每一个刚刚接触图像处理的小伙伴们在一开始最需要掌握的技能,否则一张一张的读取图片费时费力,并且遇到大型的项目工程,成百上千张图片一张一张进行读取也是...第一步:批量读取文件夹中的图片
  • 目标:在一个文件夹内,按不同编号排列了很多子文件夹,每个子文件夹内放着若干张图片,一次性需要把这些图片读取出来,并且生成对应的路径。 代码如下: file_path = '/media/will/Will/Face_dataset/dataset_1/';%...
  • matlab读取文件夹中的图片

    千次阅读 2013-10-13 17:05:22
    假如读取F盘English文件夹中的所有bmp图片: Files = dir(strcat('F:\\english\\','*.bmp')); LengthFiles = length(Files); for i = 1:LengthFiles;        Img = imread(strcat('F:\english\',...
  • 直接上代码: % 如果你的图片命名方式是1...file_path = '你的需要处理的图片文件夹路径\'; img_path_list = dir(strcat(file_path,'*.bmp')); img_num = length(img_path_list); if img_num > 0 for j = 1:...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 216
精华内容 86
关键字:

matlab读取文件夹图片

matlab 订阅