网上找了很久的YOLO格式数据集转COCO格式的代码,但是没有一个成功的,费尽千辛万苦终于找到一个能用的,因此记录一下。
一、首先YOLO格式数据集文件布局
其中lmages和labels 中的内容布局如下,只不过一个存放图片,一个存放标签
二、COCO数据集布局
下面的代码生产生成的是下图的第一个文件夹,存放标注文件json,其他三个文件夹都是图片
三、转换代码
import json
import os
import shutil
import cv2
# info ,license,categories 结构初始化;
# 在train.json,val.json,test.json里面信息是一致的;
# info,license暂时用不到
info = {
"year": 2024,
"version": '1.0',
"date_created": 2024 - 3 - 29
}
licenses = {
"id": 1,
"name": "null",
"url": "null",
}
#自己的标签类别,跟yolo的数据集类别要对应好;
categories = [
{
"id": 0,
"name": 'Eating',
"supercategory": 'lines',
},
{
"id": 1,
"name": 'Raising_a_hand',
"supercategory": 'lines',
},
{
"id": 2,
"name": 'Reading',
"supercategory":