相思资源网 Design By www.200059.com
最近刚刚接触深度学习,并尝试学习制作数据集,制作过程中发现了一个问题,现在跟大家分享一下。问题是这样的,在制作voc数据集时,我采集的是灰度图像,并已经用labelimg生成了每张图像对应的XML文件。训练时发现好多目标检测模型使用的训练集是彩色图像,因此特征提取网络的输入是m×m×3的维度的图像。所以我就想着把我采集的灰度图像的深度也改成3吧。批量修改了图像的深度后,发现XML中的depth也要由1改成3才行。如果重新对图像标注一遍生成XML文件的话太麻烦,所以就想用python批量处理一下。果然在网上找到了类似的代码,简单修改一下就可以实现我们想要的功能了。
全部代码如下
#coding:utf-8 import os import os.path import xml.dom.minidom path='E:/data/ann/'#这里修改为自己存放XML文件的路径 files=os.listdir(path) #获取路径下的所有文件的名称 s=[] for xmlFile in files: if not os.path.isdir(xmlFile): #判断是否是文件夹,不是文件夹才打开 print(xmlFile) #将获取到的xml文件名送入到dom解析 dom=xml.dom.minidom.parse(os.path.join(path,xmlFile)) root=dom.documentElement ###获取标签对depth之间的值 depth=root.getElementsByTagName('depth') #修改相应标签的值 for i in range(len(depth)): print(depth[i].firstChild.data) a = depth[i].firstChild.data print(type(a)) depth[i].firstChild.data=3 print(depth[i].firstChild.data) #保存修改到xml文件中 with open(os.path.join(path,xmlFile),'w') as fh: dom.writexml(fh) print('修改depth成功!')
上面的代码的思路是,读取XML文件,并修改depth节点的内容修改为3,通过循环读取XML文件,实现批量化修改XML文件中depth的值。
修改前后的结果
XML修改前depth的值:
XML修改后depth的值:
这样,就可以使用自己制作的voc数据集进行训练了。我选的这个方法可能比较傻
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无使用python批量修改XML文件中图像的depth值的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。