使用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字符串处理之count()方法的使用
May 18 Python
python编程开发之textwrap文本样式处理技巧
Nov 13 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
使用Python处理Excel表格的简单方法
Jun 07 Python
浅谈django的render函数的参数问题
Oct 16 Python
在python中pandas读文件,有中文字符的方法
Dec 12 Python
Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析
Dec 26 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
Feb 07 Python
Python基于numpy模块实现回归预测
May 14 Python
Python新手学习函数默认参数设置
Jun 03 Python
python安装第三方库如xlrd的方法
Oct 31 Python
Python使用pyenv实现多环境管理
Feb 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
Destoon实现多表查询示例
2014/08/21 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
Angular4学习笔记之实现绑定和分包
2017/08/01 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
使用python3.5仿微软记事本notepad
2016/06/15 Python
python开发利器之ulipad的使用实践
2017/03/16 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
Python有序字典简单实现方法示例
2017/09/28 Python
Python实现识别手写数字大纲
2018/01/29 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
英语师范专业毕业生自荐信
2013/09/21 职场文书
造型师求职自荐信
2013/09/27 职场文书
初中物理教学反思
2014/01/14 职场文书
西门豹教学反思
2014/02/04 职场文书
施工员岗位职责
2014/03/16 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
运动会表扬稿
2015/01/16 职场文书
工会积极分子个人总结
2015/03/03 职场文书
实习指导老师意见
2015/06/04 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android