上一篇文章中利用现有的VOC2007数据集跑通了大佬写的在能在Window环境下运行的更快的RCNN网络。现在制作自己的数据集来训练网络,由于图像数量较多,逐个手改太麻烦。于是想着利用的Python来实现。
VOC2007数据的命名格式如下
所以需要把自己的图像名称改成上面六位长度左边补0的格式.Python实现代码如下
import os
filepath = 'G:\\data'
filelist = os.listdir(filepath)
k = 0
for file in filelist:
olddir = os.path.join(filepath,file)
if os.path.isdir(olddir): #判断当前文件是否为文件夹,是则跳过
continue
filetype = os.path.splitext(file)[1] #得到图片后缀名
#zfill方法返回指定长度的字符串,原字符串右对齐,前面填充0
newdir = os.path.join(filepath,str(k).zfill(6)+filetype)
os.rename(olddir,newdir)
k = k + 1
OK完事,处理后效果如下,弄完才发现还有点点不一样,就是图像的格式是png格式,还需要改成jpg格式。再次出动Python大法。
import os
from PIL import Image
filepath = 'G:\\数据预处理\\alldata'
new_path = 'G:\\数据预处理\\alldatajpg'
filelist = os.listdir(filepath)
for file in filelist:
if os.path.splitext(file)[1] == '.png':
img = Image.open(os.path.join(filepath,file))
img = img.convert('RGB')
newimg_name = file.replace(".png",".jpg")
img.save(os.path.join(new_path,newimg_name))
数据制作完毕!