使用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字符串替换的2种方法
Nov 30 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
使用Python读写及压缩和解压缩文件的示例
Jul 08 Python
python中模块的__all__属性详解
Oct 26 Python
django2用iframe标签完成网页内嵌播放b站视频功能
Jun 20 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 Python
python super用法及原理详解
Jan 20 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 Python
详解Python高阶函数
Aug 15 Python
Python os库常用操作代码汇总
Nov 03 Python
pytorch中的 .view()函数的用法介绍
Mar 17 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
一些需要禁用的PHP危险函数(disable_functions)
2012/02/23 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
php实现webservice实例
2014/11/06 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
jQuery功能函数详解
2015/02/01 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
Python语言的12个基础知识点小结
2014/07/10 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
Python笔试面试题小结
2019/09/07 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
新加坡时尚网上购物:Zalora新加坡
2016/07/26 全球购物
阿迪达斯墨西哥官方网站:adidas墨西哥
2017/11/03 全球购物
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
方正Java笔试题
2014/07/03 面试题
构建和谐校园倡议书
2015/01/19 职场文书
接待员岗位职责范本
2015/04/15 职场文书
初中美术教学反思
2016/02/17 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
V Rising 服务器搭建图文教程
2022/06/16 Servers