使用python批量修改XML文件中图像的depth值
作者:JZXxiaoxin 发布时间:2023-03-05 12:59:06
标签:python,批量修改,XML,图像
最近刚刚接触深度学习,并尝试学习制作数据集,制作过程中发现了一个问题,现在跟大家分享一下。问题是这样的,在制作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的值:
XML修改后depth的值:
这样,就可以使用自己制作的voc数据集进行训练了。我选的这个方法可能比较傻
来源:https://blog.csdn.net/m0_37835084/article/details/107454237


猜你喜欢
- 上一篇相关文章:段正淳的css笔记(2)圆角的做法 1、标题右侧“更多”的实现曾经做上图所示的效果,会使用到position来相对定位到h2
- 在使用Python绘制图表前,我们需要先安装两个库文件numpy和matplotlib。Numpy是Python开源的数值计算扩展,可用来存
- pymysql 模块!pymysql模块时一个第三方模块!需要下载:pymysql的基本使用:import pymysqlconn = py
- 前言上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来。1.
- 把这两个很普遍性的网友比较关心的问题总结回答一下。in和exist的区别从sql编程角度来说,in直观,exists不直观多一个select
- 一、图像直方图1.1 定义图像直方图是图像的基本属性之一,也是反映图像像素数据分布的统计学特征,其横坐标代表了图像像素点在[0,255]范围
- 一、文章主题在看到相关的抽奖诈骗报道,有的人却不明白是怎么回事。为了预防被抽奖诈骗,因此,我们通过一些简单的例子来说一说,抽奖更深层的逻辑,
- 一、前言前几天在Python钻石交流群分享了一个Python基础的问题,这里拿出来给大家分享下,一起学习下。编写程序,输入若干整数(整数之间
- /** * @Purpose: Mysql数据库访问类 * @Package: * @Author: lisen@sellingclub.c
- 一般删除文件时使用os库,然后利用os.remove(path)即可完成删除,如果删除空文件夹则可使用os.removedirs(path)
- 目录概述语法一、创建和初始化切片make字面量二、使用切片赋值和切片切片增长遍历切片总结总示例示例一 两个slice是否相等示例
- 开篇相信广大程序员朋友经常使用MySQL数据库作为书籍持久化的工具,我们最常使用的就是MySQL中的SQL语句,从客户端向MySQL发出一条
- 一、效果快放10倍总共分为三部分,左上角的正文,下方的心形和右下角的署名特别需要注意的一点是这种东西不但要装Python,还与分辨率有关(换
- 在SQL Server中进行开发会让你身处险地,并且寻找快速解决方案。我们编辑了前十名关于SQL Server开发的常见问题。对常见的针对表
- 问题描述??输入一个正整数n在n*n的方阵内填入1,2,3,4…n*n,要求填成蛇形。(回旋的向中间收敛)样例输入:4样例输出:不必严格按照
- 废话不多说了直接给大家贴代码了,具体代码如下所示:$('#myModal').on('shown', fun
- 本文参考文章,出于学习目的,写本文。开发项目时,为了维护一些经常需要变更的数据,比如数据库的连接信息、请求的url、测试数据等,需要将这些数
- 序言话说在前面,我不是小黑子~我是超级大黑子😏表弟大周末的跑来我家,没事干天天骚扰我,搞得我都不能跟小姐姐好好聊天了,于是为了打发表弟,我决
- 如下所示:colum = ['性别','年龄','M','样本类型'] +
- 最终效果展示实现思路在绘图区域插入一个嵌入图,嵌入图与原图的绘画保持一致,通过限制嵌入图的x轴和y轴的显示范围,达到缩放的效果,并在原图上绘