python 批量复制xml标记文件的简单脚本

今天在处理yolov5的数据集的时候发现,由于是用视频切帧作为数据集,很多人位置并没有变动因此用label_image一个一个打标签很浪费时间于是想批量复制xml标签

 

标签位置很相似,所以标签位置相同的标签就直接复制改名字改路径即可。

这是我的xml文件:

<annotation>
	<folder>sleeping_to_frames</folder>
	<filename>550.jpg</filename>
	<path>/home/guoba/桌面/SlowFast-main/ava/frames/sleeping_to_frames/1950.xml</path>
	<source>
		<database>Unknown</database>
	</source>
	<size>
		<width>2560</width>
		<height>1440</height>
		<depth>3</depth>
	</size>
	<segmented>0</segmented>
	<object>
		<name>sleeping</name>
		<pose>Unspecified</pose>
		<truncated>0</truncated>
		<difficult>0</difficult>
		<bndbox>
			<xmin>840</xmin>
			<ymin>462</ymin>
			<xmax>1251</xmax>
			<ymax>924</ymax>
		</bndbox>
	</object>
</annotation>

这是python写的脚本:

for循环中

root.find('path').text是<path>的值所以需要修改其他属性用相同方法即可
from xml.etree import ElementTree as ET

import  xml.dom.minidom

#打开xml文档
file_xml = r'/home/guoba/yolov5-6.0/test/sleeping_to_frames/550.xml'
#xml文件路径
tree = ET.parse(file_xml)  # 类ElementTree
root = tree.getroot()  # 类Element
#修改path类
path = root.find('path').text

for i in range(550,1960,10):
    num = str(i)
    root.find('path').text = ("/home/guoba/桌面/SlowFast-main/ava/frames/sleeping_to_frames/"+num+".xml")
    #修改文件路径一值参数
    tree = ET.ElementTree(root)
    tree.write("/home/guoba/桌面/SlowFast-main/ava/frames/sleeping_to_frames/"+num+".xml")
    #输出路径
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值