前言
在进行深度学习模型训练的时候,很多时候需要制作自己的数据集,还要对自己的数据集进行重命名,如果一个一个的重命名的话,就会很麻烦,在这里给大家提供一种使用python可以快速对自己的数据集进行重命名的方法,希望能够帮助到大家。
我使用的数据集是Rain_1400链接:https://pan.baidu.com/s/1uyQb9M5qJqpI1O1sLgHLmA 提取码:brlt ,用来实现图像去雨
代码如下(示例):
#-----------------------------批量重命名图片------------------------------------
#-----------重命名《图片》《xml文件》《任何格式的文件》都可以自定义序号来命名------------
import os
'''
该路径存储原始的图片,重命名后会覆盖掉原始的图片,所以在重命名之前选择复制一份,以免被失误重命名
建议在路径中使用:\\ 双斜杠
'''
path = './rainy_image_dataset/rainy_image_dataset/training/ground_truth'
# 绝对路径
filelist = os.listdir(path)
'''
起始数字,重命名的第一个文件的名字会加1
'''
# 仅用于数字开头的图片命名方法
for item in filelist:
print('item name is ',item)
name = os.path.splitext(item) #对图片的名字进行分割
filename = name[0] # 读取文件名称“1 -副本-副本(1).jpg”
# filetype=os.path.splitext(img)[1] #文件扩展名
# print(filetype)
name_segment = filename.split(" -") # 以‘ -’进行分割,我的数据集是‘空格+-’,这个根据自己需要进行重命名的数据集而定
first_segment = name_segment[0]
#second_segment = name_segment[1]
#three_segment = name_segment[2]
#four_segment = name_segment[3]
# jpg\png\bmp\xml 任何格式都支持,但是需要手动修改格式类型
if item.endswith('.jpg'):
for i in range(1,901):
for j in range(1,15):
name1= str(j)
# 将数字转换为字符串才能命名
src = os.path.join(os.path.abspath(path),item)
# 原始图像的路径
dst = os.path.join(os.path.abspath(path),first_segment +'_'+name1+'.jpg') #我使用的数据集是Rain_1400,命名为1_1,1_2,,,,,1_14,2_1,,,,循环900次
# 目标图像路径
try:
os.rename(src,dst)
print('rename from %s to %s'%(src,dst))
# 将转换结果在终端打印出来以便检查
except:
continue
总结
代码放在这里,方便自己使用的时候来取。小伙伴们要是觉得有帮助的话那就更好了!