对文件夹读取、改名等处理的MATLAB代码

一、批量修改文件夹中文件的名称    

    首先需要了解一下函数 "dir" 使用方法,(image = dir('D:\gesture\*.*');% dir是指定文件夹得位置,他与dos下的dir用法相同。(参考中文论坛中对“dir”的详解)
用法有三种:
    1. dir 是指工作在当前文件夹里
    2. dir name指定某一个文件,name可以如*.txt
    3. file=dir('filename’); 

例如 file=dir(fullfile(matlabroot,'toolbox/matlab/audiovideo/*.m'));

具体事例如下:

%%%%%%%%%%%%%%%% 可批量修改文件名%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%将文件名修改成1,2,3,4…….jpg
clear,clc
file = dir('*.png');%读取当前文件夹下的所有图片名
No_file = length(file);

for i = 1:No_file
      oldfilename = file(i).name;
      newfilename = [num2str(1000+i),'.jpg'];
      %'!'的意思是调用系统函数,32是ASCII码值,表示空格
      eval(['!rename' 32 oldfilename 32 newfilename]);
end

二、读取某一文件夹下的所有*.文件

fpath = 'C:\Users\Desktop\论文代码\MATLAB代码\images';  %这里是测试image文件夹的存放地址,记得修改
flist = dir(sprintf('%s/*.jpg', fpath));
files = cell(1,length(flist));%定义图片细胞,用来存放图片信息

for imidx = 1:length(flist)
    fprintf('[%d]', imidx); %显示进程
    if rem(imidx,40)==0%每40换行
       fprintf('\n');  
    end    
    fname = sprintf('%s/%s', fpath, flist(imidx).name);
    im = imread(fname);
    %============== 这块可添加图像操作的函数功能代码============%
    files{imidx} = fname;%将图片地址信息存放与细胞内,方便下面按序读取
end

三、自行浏览读取某文件下的文件

[filename,pathname]=uigetfile('*.*','选择图像文件');%通过浏览文件夹来读取图片
if isequal(filename,0)   %判断是否选择
    msgbox('没有选择任何图片');
else
    image=imread(strcat(pathname,filename));%获取图像路径path,然后读取图片file
    imshow(image);
end

     此外,其他复杂的文件读取操作还在进一步的学习实践中,上述这些是自己在实验过程中查找修改后的代码,可直接运行                                                   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值