Faster R-CNN Tensorflow实现之数据集制作(1)--- Python 批量对图像进行重命名及更改格式

上一篇文章中利用现有的VOC2007数据集跑通了大佬写的在能在Window环境下运行的更快的RCNN网络。现在制作自己的数据集来训练网络,由于图像数量较多,逐个手改太麻烦。于是想着利用的Python来实现。

VOC2007数据的命名格式如下

Faster R-CNN Tensorflow实现之数据集制作(1)--- Python 批量对图像进行重命名及更改格式_第1张图片

所以需要把自己的图像名称改成上面六位长度左边补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大法。

Faster R-CNN Tensorflow实现之数据集制作(1)--- Python 批量对图像进行重命名及更改格式_第2张图片

批量更改图像格式 

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))

数据制作完毕!

你可能感兴趣的:(Python)