上一篇文章中利用现有的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))

数据制作完毕!
本文介绍了如何使用Python批量对图像进行重命名和格式转换,以适应Faster R-CNN训练数据集的制作需求。首先展示了一种将图像文件名改为六位数字格式的方法,然后演示了如何将PNG格式图像转换为JPG格式,从而完成数据集的准备工作。
--- Python 批量对图像进行重命名及更改格式&spm=1001.2101.3001.5002&articleId=81347462&d=1&t=3&u=92ed9b0fd78647138c3d0bcea21e098c)
1109

被折叠的 条评论
为什么被折叠?



