PASCAL VOC2012 .xml转.txt

这篇博客介绍了如何将PASCAL VOC2012数据集的.xml标注文件转换为适用于YOLO训练的.txt格式。内容包括数据集的目录结构和转换代码,帮助深度学习开发者进行目标检测模型的训练。
摘要由CSDN通过智能技术生成

VOC数据集标注文件是 .xml格式, COCO数据集标注文件是 .json格式,yolo训练 是 .txt格式。

.xml 转 .txt代码:

"""
数据集处理  xml转txt     (trans_voc2yolo.py)
1.将voc数据集标注信息(.xml)转为yolo标注格式(.txt),并将图像文件复制到相应文件夹
2.根据json标签文件,生成对应names标签(my_data_label.names)
"""
import os
from tqdm import tqdm
from lxml import etree
import json
import shutil

# voc数据集根目录以及版本
voc_root = "/kaggle/input/pascal-voc-2012"
voc_version = "VOC2012"

# 转换的训练集以及验证集对应txt文件
train_txt = "train.txt"        # 记录着用于训练的图片名
val_txt = "val.txt"

# 转换后的文件保存目录
save_file_root = "./my_yolo_dataset"
# label标签对应json文件
label_json_path = "/kaggle/input/voc-classes/pascal_voc_classes.json"

# 拼接出voc的images目录,xml目录,txt目录
voc_images_path = os.path.join(voc_root, voc_version, "JPEGImages")
voc_xml_path = os.path.join(voc_root, voc_version, "Annotations")   # 所有的图像标注信息
train_txt_path = os.path.join(voc_root, voc_version, "ImageSets", "Main", train_txt)
val_txt_path = os.path.join(voc_root, voc_version, "ImageSets", "Main", val_txt)

# 检查文件是否都存在
assert os.path.exists(voc_images_path),"voc_images_path not exist..."
assert os.path.exists(voc_xml_path), "voc_xml_path not exist..."
assert os.path.exists(train_txt_path), "train_txt_path not exist..."
assert os.path.exists(val_txt_path), "val_txt_path not exist..."
assert os.path.exists(labe
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值