最近要开始训练SVM支持向量机了,所以有一大堆的图片。原来都被顺序地命名了,但是要将其拆分开分别放到各自属性的文件夹中,还需要对各个图片进行重命名。
一个个地重命名,工程量实在太大。所以想到用matlab进行重命名。
搜了网上不少的方法,但是真正好用的不多,要么还有一个问题,就是网上很多人写教程,总不爱把坑给你说出来,他的教程吧,是对的,但是你用他的教程吧,肯定都是各种问题。
跨过各种坑之后,我讲讲我的方法。
先贴代码:
for i=2:6 %%%%%%%%%%%%%%%不同情况的种类
picpath='G:\desktop\experience_photo\text10_temprature_substraction'; %%%%照片的路径
picpath=strcat(picpath,num2str(i));
cd (picpath);
for j=(40*(i-1)+1):(40*i)
oldname=strcat(num2str(j),'.jpg');
newname=strcat(num2str((j-40*(i-1))),'.jpg');
movefile(oldname,newname);
end
end
然后贴出我的文件夹截图:
道理很简单,就是用matlab的movefile函数,movefile函数本质上就是一个剪切函数。但是用在这儿可以直接当做重命名的函数。首先你把需要改需要的几个文件夹的名称按顺序命名,然后用cd命令,依次进入( 这里有个坑,cd 文件夹名行不通,只能用cd(文件夹名))。
然后还有一个坑。我的第一层for循环,是从2开始循环的(细心的朋友已经发现了)。这个是因为如果从1开始循环(因为text10_temprature_substraction1文件夹里面的文件名都是顺序的,会导致程序无法向后面的文件夹继续运行)。
好了,今天就介绍这么多了。
如果有不正确的地方,欢迎大家指正!