VOC2012数据集xml文件转csv文件

参考大佬的代码做了修改

原文链接https://blog.csdn.net/weixin_44574507/article/details/118106839

VOC2012数据集中的xml文件构造

参考原文的代码中使用类似列表的方式进行查询,有可能出现某一xml文件中object元素顺序不同而导致的报错或是读取信息不准确的问题。

采用find方法直接找到元素标签进行读取

import glob
import pandas as pd
import xml.etree.ElementTree as ET

path='F:/DeepLearning/Training/data/VOC2012/Annotations'#xml文件位置
save_path='F:/DeepLearning/Training/data/'#csv保存位置

def xml_to_csv(path):
    xml_list=[]
    for xml_file in glob.glob(path+'/*.xml'):
        tree = ET.parse(xml_file)
        root=tree.getroot()
        #root为文件根标签
        for member in root.findall('object'):
            #member为某一object标签
            value=(
                root.find('filename').text,
                int(root.find('size').find('width').text),
                int(root.find('size').find('height').text),
                member.find('name').text,
                #以object内为基础获取bndbox大小
                int(float(member.find('bndbox').find('xmin').text)),
                int(float(member.find('bndbox').find('ymin').text)),
                int(float(member.find('bndbox').find('xmax').text)),
                int(float(member.find('bndbox').find('ymax').text))
                )
            xml_list.append(value)
    conlumn_name=['img_name','width','height','class','xmin','ymin','xmax','ymax']
    xml_df=pd.DataFrame(xml_list,columns=conlumn_name)
    return xml_df

xml_df=xml_to_csv(path)
xml_df.to_csv(save_path+'prepare.csv',index=None)
print("success")

完成对所有xml文件中标注信息的整合

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值