使用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中list循环语句用法实例
Nov 10 Python
Python中的anydbm模版和shelve模版使用指南
Jul 09 Python
Python实现的NN神经网络算法完整示例
Jun 19 Python
python按修改时间顺序排列文件的实例代码
Jul 25 Python
python中append实例用法总结
Jul 30 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
python实现简单图书管理系统
Nov 22 Python
如何通过Django使用本地css/js文件
Jan 20 Python
python3中sorted函数里cmp参数改变详解
Mar 12 Python
Python发送邮件封装实现过程详解
May 09 Python
Python调用C/C++的方法解析
Aug 05 Python
python中操作文件的模块的方法总结
Feb 04 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
漫威DC御用漫画家去世 他的表情包曾走红网络
2020/04/09 欧美动漫
php操作memcache缓存方法分享
2015/06/03 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
Laravel 5.5 异常处理 & 错误日志的解决
2019/10/17 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
浅谈javascript中this在事件中的应用
2015/02/15 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
纯js实现瀑布流布局及ajax动态新增数据
2016/04/07 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
2019/10/12 jQuery
小程序实现按下录音松开识别语音
2019/11/22 Javascript
Python操作Mysql实例代码教程在线版(查询手册)
2013/02/18 Python
Python随机生成带特殊字符的密码
2016/03/02 Python
python批量添加zabbix Screens的两个脚本分享
2017/01/16 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
如何在Shell脚本中使用函数
2015/09/06 面试题
大学生职业生涯规划书模版
2013/12/30 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
捐资助学倡议书
2014/04/15 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书