前言:刚开始做视频目标检测的时候需要把我们实验室的医疗数据制作成ILSVRC2015 VID这样格式的数据,但是在网上没怎么找到攻略,故把自己的一些经验记录下来。
1、json转xml:由labelme这个软件标注出来的数据集一般都是json格式的,需要把json标注格式转化成xml格式。
import os
from typing import List, Any
import numpy as np
import codecs
import json
from glob import glob
import cv2
import shutil
from sklearn.model_selection import train_test_split
# 1.标签路径
path = "/media/work/data/lx/mega_data/tempdatas/train" #原始labelme标注数据路径
saved_path = "/media/work/data/lx/mega_data/val_train/" #保存路径
# 3.获取待处理文件
for tt in os.listdir(path):
labelme_path='/media/work/data/lx/mega_data/tempdatas/train'+'/'+tt+'/'
cont=os.listdir(labelme_path)
if len(cont)<20:
continue
print(labelme_path)
files = glob(labelme_path + "*.json")
#print(files)
files = [i.replace("\\","/").split("/")[-1].split(".json")[0] for i in files]
print(files)
# 4.读取标注信息并写入 xml
for json_file_ in files:
json_filename = labelme_path + json_file_ + ".json"
json_file = json.load(open(json_filename, "r", encoding="utf-8"))
height, width, channels = cv2.imread(labelme_path + json_file_ + ".JPEG").shape
temp=saved_path+ "/"+ "Annotations/"+"VID/"+"train/"+tt
if not os.path.exists(temp):
os.makedirs(temp)
with codecs.open(temp+"/"+ json_file_ + ".xml", "w", "utf-8") as xml:
xml.write('<annotation>\n')
xml.write('\t<folder>' + 'WH_data' + '</folder>\n')
xml.write('\t<filename>' + json_file_ + ".JPEG" + '</filename>\n')
xml.write('\t<source>\n')
xml.write('\t\t<da

本文介绍如何将LabelMe标注的JSON格式数据转换为适用于ILSVRC2015 VID格式的XML文件,并提供了视频目标检测数据整理的具体步骤,包括重命名排序及ImageSets文档制作。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



