一、问题提出
上篇博客中,博主提到了,如何将图片文件随机打乱并批量命名。博主做了一个6分类的数据集,悲剧的是,博主忽略了文件的命名,导致每个类的文件名都是一样的。所以,用labeling软件制作成voc数据集时,会导致每个类的xml文件的filename属性是相同的,这是要解决的问题。
二、代码实现
#coding=utf-8
import os
import os.path
import xml.dom.minidom
path="H:\\dataset\\image\\example"
files=os.listdir(path) #得到文件夹下所有文件名称
s=[]
for xmlFile in files:
#遍历文件夹
portion = os.path.splitext(xmlFile)
if not os.path.isdir(xmlFile):
#判断是否是文件夹,不是文件夹才打开
# print (xmlFile)
#xml文件读取操作
#将获取的xml文件名送入到dom解析
dom=xml.dom.minidom.parse(os.path.join(path,xmlFile))
###最核心的部分os.path.join(path,xmlFile),路径拼接,输入的是具体路径
root=dom.documentElement
name=root.getElementsByTagName('filename')
#pose=root.getElementsByTagName('pose')
#重命名class name
for i in range(