Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VOC格式转CSV

VOC格式转CSV

作者头像
狼啸风云
修改于 2022-09-02 11:46:52
修改于 2022-09-02 11:46:52
1.1K00
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import os
import xml.dom.minidom
 
 
path_img = "VOC2007/JPEGImages"
path_xml = "VOC2007/Annotations"
 
xml_list = []
for xml1 in os.listdir(path_xml):
    if xml1.endswith(".xml"):
        xml_list.append(xml1)
 
csv_labels = open("csv_labels.csv", "w")
for xml_file in xml_list:
    image_id, _ = os.path.splitext(xml_file)
 
    DomTree = xml.dom.minidom.parse(os.path.join(path_xml, xml_file))
    annotation = DomTree.documentElement
    objectlist = annotation.getElementsByTagName('object')
    for objects in objectlist:
        namelist = objects.getElementsByTagName('name')
        objectname = namelist[0].childNodes[0].data
        bndbox = objects.getElementsByTagName("bndbox")
        for box in bndbox:
            x1_list = box.getElementsByTagName('xmin')
            x1 = int(x1_list[0].childNodes[0].data)
            y1_list = box.getElementsByTagName('ymin')
            y1 = int(y1_list[0].childNodes[0].data)
            x2_list = box.getElementsByTagName('xmax')
            x2 = int(x2_list[0].childNodes[0].data)
            y2_list = box.getElementsByTagName('ymax')
            y2 = int(y2_list[0].childNodes[0].data)
        line = str(image_id) + "," + str(x1) + "," + str(y1) \
               + "," + str(x2) + "," + str(y2) + "," + objectname + "\n"
        print(line)
        csv_labels.write(line)
csv_labels.close()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Opencv画框
import osimport xml.dom.minidomimport cv2 as cvImgPath = 'D:\paper\\3low_light_image\dataset_lowlight\cad\CAD\JPEGImages\\'AnnoPath = 'D:\paper\\3low_light_image\dataset_lowlight\cad\CAD\Annotations\\' # xml文件地址save_path = 'D:\paper\\3low_light_image\data
狼啸风云
2020/12/22
4300
统计xml文件包含的标注信息 parse_dataset_annotation
发布者:全栈程序员栈长,转转请注明出处:https://javaforall.cn/2159.html原文链接:
全栈程序员站长
2021/04/07
7010
【目标检测】数据增强:YOLO官方数据增强实现/imgaug的简单使用
由于自己的数据比较少,因此想采用数据增强的方式来扩充自己的数据集,对于目标检测任务而言,除了需要改变原始图像外,还需要对目标框进行相应的变化。
zstar
2022/09/20
8.5K0
【目标检测】数据增强:YOLO官方数据增强实现/imgaug的简单使用
轻松学Pytorch-实现自定义对象检测器
大家好,今天来继续更新轻松学Pytorch专栏,这个是系列文章我会一直坚持写下去的,希望大家转发、点赞、留言支持!上一篇文章使用了torchvision中提供的预训练对象检测网络Faster-RCNN实现了常见的对象检测,基于COCO数据集,支持90个类型对象检测,非常的实用。本文将介绍如何使用自定义数据集,使用Faster-RCNN预训练模型实现迁移学习,完成自定义对象检测。
OpenCV学堂
2020/07/30
8660
轻松学Pytorch-实现自定义对象检测器
将VOC格式的数据集转换为COCO格式
import xml.etree.ElementTree as ETimport osimport json coco = dict()coco['images'] = []coco['type'] = 'instances'coco['annotations'] = []coco['categories'] = [] category_set = dict()image_set = set() category_item_id = -1image_id = 20180000000annotation_id
狼啸风云
2021/06/09
3.4K0
DarkLabel转换MOT、ReID、VOC格式数据集脚本分享
上一篇文章推荐了DarkLabel标注软件,承诺会附上配套的代码,本文主要分享的是格式转换的几个脚本。
BBuf
2020/05/01
2.1K0
python解析xml文件
​ getElementsByTagName()---->class Element ​ Element.childNodes ------>Dom 类型
Dean0731
2020/05/08
1.5K0
将Cityscape转换为PASACAL VOC格式的目标检测数据集
1、将Cityscape中的json格式的标注转换为.txt格式的标签# convert cityscape dataset to pascal voc format dataset# 1. convert every cityscape image label '.json' to '.txt'import jsonimport osfrom os import listdir, getcwdfrom os.path import joinimport os.pathrootdir = 'D:\datas
狼啸风云
2020/07/14
2.5K0
数据集少?那就来数据增强吧?
这几天老师给了我一个任务,让我识别螺栓和法兰盘,但是老师也是够高冷的,就给我了6张图片,让我训练?让我目标检测?6张图片检测个屁啊… 不过我自己也想到了数据集增强,用opencv进行图片的翻转,平移,调节亮度啊,调节对比度等等。 有两个思路 第一个思路是,先直接增强图片,把图片弄很多张,然后再一个个的去用labelimg去标注,其实想想,这个工程量也蛮大的吧,确实很大,我在傻傻的自己标注了30张图片之后,心很累。就想有没有一种方法,我这六张图片标注好了,也生成对应的.xml文件了,直接图片和对应的标注文件一起数据集的增强,在我一番百度之后,找到了一个方法,最后经过验证,数据集正确,也可以正常的训练,这也就是我说的第二个方法。唉,心真累。两个方法都写上吧,自己也好复习。
Albert_xiong
2021/06/21
1.1K0
数据集少?那就来数据增强吧?
【目标检测】YOLOv5跑通VOC2007数据集(修复版)
在【目标检测】YOLOv5跑通VOC2007数据集一文中,我写了个脚本来提取VOC中Segmentation划分好的数据集,但是经过观察发现,这个train.txt中仅有209条数据,而VOC2007的图片有9963张,这意味着大量的图片被浪费,没有输入到模型中进行训练。
zstar
2022/09/16
5910
【目标检测】YOLOv5跑通VOC2007数据集(修复版)
【目标检测】小脚本:提取训练集图片与标签并更新索引
在做目标检测任务时,我想提取训练集的图片单独进行外部数据增强。因此,需要根据划分出的train.txt来提取训练集图片与标签。
zstar
2022/09/21
2950
【目标检测】小脚本:提取训练集图片与标签并更新索引
YOLOv5超详细的入门级教程(训练篇)(二)——VOC2007模型复现
- TIPS:用迅雷下载速度起飞哦!!!(之前我只下载了训练集,在这里补下测试集)
润森
2022/08/18
1.6K0
YOLOv5超详细的入门级教程(训练篇)(二)——VOC2007模型复现
[935]python解析xml文件
XML 指可扩展标记语言(eXtensible Markup Language)。
周小董
2021/01/29
1.5K0
【目标检测】YOLOv5跑通VOC2007数据集
如果经常阅读我博客的读者,想必对YOLOv5并不陌生。在Pytorch:YOLO-v5目标检测(上)一文中,我使用了coco128数据集,非常轻松的跑通了。然而在使用VOC2007数据集时,却遇到重重阻碍。主要问题在数据标签转化这个阶段,VOC数据集标注形式是xml,需要将其转换为txt。很多博文并未把文件的放置位置交代清楚,导致走了不少弯路,本篇博文就记录如何不走弯路地跑通VOC数据集。
zstar
2022/09/07
2.1K1
【目标检测】YOLOv5跑通VOC2007数据集
目标检测 | 常用数据集标注格式及生成脚本
目标检测是计算机视觉任务中的一个重要研究方向,其用于解决对数码图像中特定种类的可视目标实例的检测问题。目标检测作为计算机视觉的根本性问题之一,是其他诸多计算机视觉任务,例如图像描述生成,实例分割和目标跟踪的基础以及前提。而在解决此类问题时,我们常常需要使用自己的脚本或者利用标注工具生成数据集,数据集格式往往会多种多样,因此对于目标检测任务而言,为了更好地兼容训练,大多数目标检测模型框架会默认支持几种常用的数据集标注格式,常见的分别是COCO,Pascal VOC,YOLO等等。本文主要介绍上述几种数据集格式以及我写的Python脚本(一般需要根据实际情况再改改)。
Justlovesmile
2021/12/14
5K0
目标检测 | 常用数据集标注格式及生成脚本
从零开始带你一步一步使用YOLOv3训练自己的数据
YOLOv3是比较常见和常用的深度学习目标检测(Object Dection)算法。今天给大家介绍一下如何一步一步使用YOLOv3训练自己的数据集。
红色石头
2022/01/10
2.5K1
从零开始带你一步一步使用YOLOv3训练自己的数据
如何将VOC XML文件转化成COCO数据格式
在一个项目中,我需要将已有的VOC的xml标注文件转化成COCO的数据格式,为了方便理解,文章按如下顺序介绍:
marsggbo
2019/08/14
1.8K0
【目标检测】小脚本:Xml标签可视化
之前写过一个将YOLO中txt格式进行可视化的脚本目标检测】小脚本:YOLO标签可视化,这次来实现一个Xml格式标签可视化的脚本。
zstar
2022/09/20
6050
PyTorch版CenterNet训练自己的数据集
CenterNet(Objects as points)已经有一段时间了,之前这篇文章-【目标检测Anchor-Free】CVPR 2019 Object as Points(CenterNet)中讲解了CenterNet的原理,可以回顾一下。
BBuf
2020/07/22
1.8K0
推荐阅读
相关推荐
Opencv画框
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验