目标识别数据集互相转换——xml、txt、json数据格式互转
VOC数据格式与YOLO数据格式互转
1.VOC数据格式
VOC(Visual Object Classes)是一个常用的计算机视觉数据集,它主要用于对象检测、分类和分割任务。VOC的标注格式,也被许多其他的数据集采用,因此理解这个数据格式是很重要的。下面是一个详细的介绍:
一个典型的VOC数据集主要包括以下两个主要组成部分:
- JPEGImages:这个文件夹包含所有的图片文件,通常都是jpg格式。1. Annotations:这个文件夹包含每张图片对应的标注文件。每个标注文件都是xml格式的,其中包含了图片中每个对象的信息,如类别、位置等。
格式如下:
🔥计算机视觉、图像处理、毕业辅导、作业帮助、代码获取,远程协助,代码定制,私聊会回复!
✍🏻作者简介:机器学习,深度学习,卷积神经网络处理,图像处理
🚀B站项目实战:https://space.bilibili.com/364224477
😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+
🤵♂代做需求:@个人主页
<annotation>
<folder>图像文件所在文件夹名称</folder>
<filename>图像文件名</filename>
<source>...省略...</source>
<size>
<width>图像宽度</width>
<height>图像高度</height>
<depth>图像深度,例如RGB图像深度为3</depth>
</size>
<segmented>省略...</segmented>
<object>
<name>物体类别名称</name>
<pose>省略...</pose>
<truncated>是否被截断(0表示未被截断,1表示被截断)</truncated>
<difficult>是否难以识别(0表示容易识别,1表示难以识别)</difficult>
<bndbox>
<xmin>物体边界框左上角的x坐标</xmin>
<ymin>物体边界框左上角的y坐标</ymin>
<xmax>物体边界框右下角的x坐标</xmax>
<ymax>物体边界框右下角的y坐标</ymax>
</bndbox>
</object>
...其他物体的标注信息...
</annotation>
在标注文件中,可以包含多个<object>
标签,每个标签都表示图片中的一个物体。每个物体的类别名称和位置信息都包含在这个标签中。位置信息通过一个矩形边界框来表示,该框由左上角和右下角的坐标确定。
2.YOLO数据格式
数据格式:label_index,cx, cy,w,h
label_index :为标签名称在标签数组中的索引,下标从 0 开始。
cx:标记框中心点的 x 坐标,数值是原始中心点 x 坐标除以 图宽 后的结果。
cy:标记框中心点的 y 坐标,数值是原始中心点 y 坐标除以 图高 后的结果。
w:标记框的 宽,数值为 原始标记框的 宽 除以 图宽 后的结果。
h:标记框的 高,数值为 原始标记框的 高 除以 图高 后的结果。
xml转txt
import os
import glob
import argparse
import random
import xml.etree.ElementTree as ET
from PIL import Ima