• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用python批量修改XML文件中图像的depth值

python 搞代码 4年前 (2022-01-07) 71次浏览 已收录 0个评论

这篇文章主要介绍了使用python批量修改XML文件中图像的depth值,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

最近刚刚接触深度学习,并尝试学习制作数据集,制作过程中发现了一个问题,现在跟大家分享一下。问题是这样的,在制作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].fi<span style="color:transparent">来源gaodai#ma#com搞*代#码网</span>rstChild.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数据集进行训练了。我选的这个方法可能比较傻

到此这篇关于使用python批量修改XML文件中图像的depth值的文章就介绍到这了,更多相关python批量修改XML内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是使用python批量修改XML文件中图像的depth值的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用python批量修改XML文件中图像的depth值

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址