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

作者:JZXxiaoxin 时间:2023-03-05 12:59:06 

最近刚刚接触深度学习,并尝试学习制作数据集,制作过程中发现了一个问题,现在跟大家分享一下。问题是这样的,在制作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数据集进行训练了。我选的这个方法可能比较傻

来源:https://blog.csdn.net/m0_37835084/article/details/107454237

标签:python,批量修改,XML,图像
0
投稿

猜你喜欢

  • python中ndarray数组的索引和切片的使用

    2022-10-12 13:49:55
  • 让Python程序定时执行的8种方法整理

    2023-05-16 01:32:22
  • 回顾Javascript React基础

    2023-07-13 00:57:00
  • Django中传递参数到URLconf的视图函数中的方法

    2021-09-16 23:46:33
  • 基于python模拟TCP3次握手连接及发送数据

    2022-04-02 02:40:33
  • 探讨:如何查看和获取SQL Server实例名

    2024-01-18 03:47:42
  • pjblog3相关日志功能(支持生成静态模式)

    2008-11-20 13:41:00
  • 详解阿里云视频直播PHP-SDK接入教程

    2023-11-21 02:19:17
  • python库-dotenv包 及 .env配置文件详解

    2023-09-08 20:22:38
  • 成功的用户界面的八个特性[译]

    2009-04-20 20:36:00
  • python实现协同过滤推荐算法完整代码示例

    2023-10-11 00:29:05
  • 解析mysql中:单表distinct、多表group by查询去除重复记录

    2024-01-26 16:04:27
  • 小白讲座:在win下mysql备份恢复命令概括

    2009-09-05 09:43:00
  • python的继承详解

    2022-12-09 14:53:10
  • JS定时器实例

    2024-04-29 13:25:21
  • PHP5 mysqli的prepare准备语句使用说明

    2023-11-22 12:50:29
  • 默认Web字体样式

    2009-11-24 12:37:00
  • 使用python实现UDP通信方式

    2021-09-19 13:48:35
  • Scrapy之迭代爬取网页中失效问题及解决

    2022-11-02 21:03:32
  • 手把手教你pip配置国内镜像源(最新详尽版)

    2023-05-30 10:19:03
  • asp之家 网络编程 m.aspxhome.com