使用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 01 Python
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
Nov 05 Python
用Python操作字符串之rindex()方法的使用
May 19 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
Python 数据处理库 pandas进阶教程
Apr 21 Python
Django添加sitemap的方法示例
Aug 06 Python
Python实现的简单线性回归算法实例分析
Dec 26 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
python缩进长度是否统一
Aug 02 Python
Python 在局部变量域中执行代码
Aug 07 Python
PyCharm 2020.2 安装详细教程
Sep 25 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
自动分页的不完整解决方案
2007/01/12 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
php命令行使用方法和命令行参数说明
2014/04/08 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
2016/09/23 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
使用jQuery实现鼠标点击左右按钮滑动切换
2017/08/04 jQuery
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
python opencv实现信用卡的数字识别
2020/01/12 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
车间机修工岗位职责
2014/02/28 职场文书
土建施工员岗位职责
2014/07/16 职场文书
2014年医院工作总结
2014/11/20 职场文书
门市房租房协议书
2014/12/04 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android