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


Posted in Python onJuly 22, 2020

最近刚刚接触深度学习,并尝试学习制作数据集,制作过程中发现了一个问题,现在跟大家分享一下。问题是这样的,在制作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的值:

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

XML修改后depth的值:

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

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

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

Python 相关文章推荐
Python检测QQ在线状态的方法
May 09 Python
python处理Excel xlrd的简单使用
Sep 12 Python
Python管理Windows服务小脚本
Mar 12 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
对python3 中方法各种参数和返回值详解
Dec 15 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
Jan 11 Python
python使用XPath解析数据爬取起点小说网数据
Apr 22 Python
Python爬虫入门案例之爬取二手房源数据
Oct 16 Python
如何在Python中妥善使用进度条详解
Apr 05 Python
Python持续监听文件变化代码实例
Jul 22 #Python
Python不支持 i ++ 语法的原因解析
Jul 22 #Python
基于selenium及python实现下拉选项定位select
Jul 22 #Python
Python实现手绘图效果实例分享
Jul 22 #Python
Selenium及python实现滚动操作多种方法
Jul 21 #Python
如何在mac版pycharm选择python版本
Jul 21 #Python
python如何变换环境
Jul 21 #Python
You might like
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
小偷PHP+Html+缓存
2006/12/20 PHP
PHP 翻页 实例代码
2009/08/07 PHP
php下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
js 深拷贝函数
2008/12/04 Javascript
JavaScript 设计模式学习 Factory
2009/07/29 Javascript
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
2013/06/08 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
简单介绍Python中的len()函数的使用
2015/04/07 Python
详解Python Socket网络编程
2016/01/05 Python
利用Python循环(包括while&for)各种打印九九乘法表的实例
2017/11/06 Python
zookeeper python接口实例详解
2018/01/18 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
经理秘书求职自荐信范文
2014/03/23 职场文书
机关保密承诺书
2014/06/03 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
文艺委员竞选稿
2015/11/19 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书