目标检测数据增强:将csv文件转为xml文件格式(VOC2007)

该博客介绍了一个Python脚本,用于将Yolo格式的文本标注文件转换为VOC格式的XML标注文件。脚本遍历指定目录下的txt文件,读取内容并根据图像尺寸生成对应的XML文件,包括folder、filename、size、object等元素,并处理边界框坐标。此转换对于在VOC数据集上训练目标检测模型是必要的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本实验中使用的数据集为Nucls数据集中的cav标注格式,对齐进行了转换:
在这里插入图片描述

from xml.dom.minidom import Document
import os
import cv2
import csv

def makexml(txtPath, xmlPath, picPath):  # txt所在文件夹路径,xml文件保存路径,图片所在文件夹路径
    """此函数用于将yolo格式txt标注文件转换为voc格式xml标注文件

    在自己的标注图片文件夹下建三个子文件夹,分别命名为picture、txt、xml
    """

    files = os.listdir(txtPath)
    for i, name in enumerate(files):
        xmlBuilder = Document()
        annotation = xmlBuilder.createElement("annotation")  # 创建annotation标签
        xmlBuilder.appendChild(annotation)
        
        txtFile = open(os.path.join(txtPath, name))
        #txtList = txtFile.readlines()
        txtList = csv.reader(txtFile)
        img = cv2.imread(os.path.join(picPath, name[0:-4] + ".png"))
        Pheight, Pwidth, Pdepth = img.shape

        folder = xmlBuilder.createElement("folder")  # folder标签
        foldercontent = xmlBuilder.createTextNode("VOC2007")
        folder.appendChild(foldercontent)
        annotation.appendChild(folder
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值