一、批量修改文件夹中文件的名称
首先需要了解一下函数 "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