自建VOC数据集xml文件解析与操作实例(统计、删除、修改类别)附各实例程序代码

本文介绍了如何使用Python的ElementTree库对VOC数据集的XML文件进行操作,包括统计各类别目标框数量、删除或修改类别。提供了一个实例程序,用于统计自建VOC数据集中各类别的目标框数量,并给出了在GitHub上的完整代码链接。
摘要由CSDN通过智能技术生成

对xml的解析与操作在《python学习(二) ElementTree解析、读写、创建xml文件》一文中介绍完毕

本文主要是使用ElementTree对VOC数据集的xml操作的实例化

并附带一些实用小程序供大家参考使用,程序代码在下面的github网站中

https://github.com/A-mockingbird/VOCtype-datasetOperation

里面有统计VOC数据集各类别目标框数量、删除某一类别或修改某一类别名称等操作的代码

1.介绍一个简单的实例:统计自己创建voc数据集中各类别目标框数量

(1)import所需的库

import io

import sys

import os

import xml.etree.ElementTree as ET

如遇到编码问题

sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')

(2)解析xml文件

filepath为xml文件名

anno_path存储xml文件的文件夹路径

获取xml树结构

对xml树进行遍历,获取object(即目标)子类

对object中的目标框类别、位置信息解析,存入annos列表

返回annos及此xml文件中目标框数量num

def _ParseAnnotation(filepath):
    if os.path.exists(anno_path + filepath) == False:
        print(filepath+' :not found')
    tree = ET.parse(anno_path + filepath)
    annos = [None]*30
    num = 0 
    for annoobject in tree.iter():
        if 'object' in annoobj
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值