Citypersons数据集转VOC标准格式(YOLO 目标检测txt格式)

本文详细介绍如何将Cityscapes数据集转换为VOC标准格式,包括图像和标注文件的处理过程,以及如何使用Python脚本实现这一转换,适用于语义分割任务。

CItyscapes城市数据集包含一组不同的立体视频序列中记录来自50个不同城市的街景,高质量的进行像素级的注释。数据集下载地址(需要申请注册,通过申请才能下载)[https://www.cityscapes-dataset.com]
该数据集用于常语义分割,包含以下类别:
在这里插入图片描述

提供百度云链接地址:链接: https://pan.baidu.com/s/108_NgFheDIpnQRrwz5uhmw 提取码: dhr8

#cityperson数据集是cityscapes数据集的子集,cityperson的标注文件只标注了其中Human的类别,如上图。该标注文件下载地址为:

下载地址:https://bitbucket.org/shanshanzhang/citypersons/get/ae6814faa761.zip

提取cityscapes中标注好的类别为VOC的标准格式(JPEGImages和Annotations,txt的代码就不写了,参考博主其他博客)

#! /usr/bin/python
# -*- coding:UTF-8 -*-
import os, sys
import glob
from PIL import Image
import shutil
from scipy.io import loadmat
#img_Lists = glob.glob(src_img_dir + '\*.png')
 
# citypersons图像的标注位置
src_anno_dir = loadmat(r'c:\Users\rockhuang\Desktop\anno_train.mat')

# cityscapes图像的存储位置
src_img_dir = r"g:\dataset\cityscapes\leftImg8bit\train\\"

#保存为VOC 数据集的原图和xml标注路径
new_img= r"g:\dataset\cityscapes\JPEGImages"
new_xml=r"g:\dataset\cityscapes\Annotations"

if not os.path.isdir(new_img):
    os.makedirs(new_img)
    
if not os.path.isdir(new_xml):
    os.makedirs(new_xml)   
    
a=src_anno_dir['anno_train_aligned'][0]
 
    #处理标注文件

for i in range(len(a)):
    img_name=a[i][0][0][1][0]   #frankfurt_000000_000294_leftImg8bit.png     
    dir_name=img_name.split('_')[0]
    img=src_img_dir+dir_name+"\\"+img_name
     
    shutil.copy(img, new_img+"\\"+img_name)
    img=Image.open(img)
    width, height = img.size
    
    position=a[i][0][0][2]
    print(position)
    
评论 50
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值