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

 更新时间:2020年07月22日 09:55:53   作者:JZXxiaoxin  
这篇文章主要介绍了使用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].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的值:

修改前depth的值为1

XML修改后depth的值:

depth成功修改成3

这样,就可以使用自己制作的voc数据集进行训练了。我选的这个方法可能比较傻

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

相关文章

  • 详解pytorch的多GPU训练的两种方式

    详解pytorch的多GPU训练的两种方式

    本文主要介绍了详解pytorch的多GPU训练的两种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • python爬虫工具例举说明

    python爬虫工具例举说明

    在本篇文章里小编给大家整理的是一篇关于python爬虫工具例举说明内容,有兴趣的朋友们可以学习下。
    2020-11-11
  • Python 使用SMOTE解决数据不平衡问题(最新推荐)

    Python 使用SMOTE解决数据不平衡问题(最新推荐)

    SMOTE是一种强大的过采样技术,可以有效地处理不平衡数据集,提升分类器的性能,通过imbalanced-learn库中的SMOTE实现,我们可以轻松地对少数类样本进行过采样,平衡数据集,这篇文章主要介绍了Python 使用SMOTE解决数据不平衡问题,需要的朋友可以参考下
    2024-05-05
  • python保存图片时如何和原图大小一致

    python保存图片时如何和原图大小一致

    这篇文章主要介绍了python保存图片时如何和原图大小一致问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python 中由 yield 实现异步操作

    Python 中由 yield 实现异步操作

    这篇文章主要介绍了Python 中由 yield 实现异步操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • DataFrame里的replace替换方式

    DataFrame里的replace替换方式

    这篇文章主要介绍了DataFrame里的replace替换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 在Python中操作字典之clear()方法的使用

    在Python中操作字典之clear()方法的使用

    这篇文章主要介绍了在Python中操作字典之clear()方法的使用,是Python入门的基础知识,需要的朋友可以参考下
    2015-05-05
  • 基于Python实现流星雨效果的绘制

    基于Python实现流星雨效果的绘制

    这篇文章主要为大家介绍了如何利用Python绘制一个浪漫的流星雨效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-03-03
  • python 实现倒排索引的方法

    python 实现倒排索引的方法

    今天小编就为大家分享一篇python 实现倒排索引的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python模块结构与布局操作方法实例分析

    Python模块结构与布局操作方法实例分析

    这篇文章主要介绍了Python模块结构与布局操作方法,结合实例形式分析了Python模块与布局的相关概念、使用方法与相关注意事项,需要的朋友可以参考下
    2017-07-07

最新评论