Yolo-将coco数据集中的json文件转为txt且解决类别不连续问题
解决问题
1.将coco数据集中,annotations的json文件,读取,进行转为ID保持一致的txt文件。
2.解决COCO数据集中,类别不连续的问题
方法
from __future__ import print_function
import os, sys, zipfile
import jsonclass_num = 0
def convert(size, box):dw = 1. / (size[0])dh = 1. / (size[1])x = box[0] + box[2] / 2.0y = box[1] + box[3] / 2.0w = box[2]h = box[3]x = x * dww = w * dwy = y * dhh = h * dhreturn (x, y, w, h)json_file = '/Data/coco/annotations/instances_val2017.json' # # Object Instance 类型的标注data = json.load(open(json_file, 'r'))
ana_txt_save_path = "/Data/coco/test2017" # 保存的路径
if not os.path.exists(ana_txt_save_path):os.makedirs(ana_txt_save_path)index = 0
cat_id_map = {}
for img in data['images']:filename = img["file_name"]img_width = img["width"]img_height = img["height"]img_id = img["id"]ana_txt_name = filename.split(".")[0] + ".txt" # 对应的txt名字,与jpg一致index +=1print(str(index) +' '+str(ana_txt_name))f_txt = open(os.path.join(ana_txt_save_path, ana_txt_name), 'w')# 保存的文件for ann in data['annotations']:if ann['image_id'] == img_id:if ann['category_id'] not in cat_id_map:cat_id_map[ann['category_id']] = class_numclass_num += 1box = convert((img_width, img_height), ann["bbox"])f_txt.write("%s %s %s %s %s\n" % (cat_id_map[ann['category_id']], box[0], box[1], box[2], box[3]))f_txt.close()
fileObject = open('/Data/coco/val_cat_id_map.txt', 'w') # 类别进行重新映射
for cat_id in cat_id_map: fileObject.write(str(cat_id))fileObject.write('\n')
fileObject.close()
Yolo-将coco数据集中的json文件转为txt且解决类别不连续问题相关推荐
- python批量修改labelme(COCO)标注的json文件的label标签名称
python批量修改labelme(COCO)标注的json文件的label标签名称 在深度学习的实践中,使用labelme标注软件标注好数据集之后,如果标签的名称标注错误或者需要修改,庞大的数据量依 ...
- Python爬取的数据存为json文件,并读取
Python爬取的数据存为json文件,并读取 import requests import time from lxml import etree import jsondef json_data_ ...
- 微信小程序云开发——常用功能2:操作云数据库一键批量导入数据(导入json文件)
微信小程序云开发--常用功能2:操作云数据库一键批量导入数据(导入json文件) 今天我们要添加100条数据.下面的过程是先创建一条记录,然后导出这条数据看json文件中是如何编辑字段的,然后仿照这个 ...
- 数据藏在json文件中,如何爬取---以王者荣耀官网为例
此前写了一个爬虫基础案例---爬取王者荣耀英雄与技能介绍 python爬虫------王者荣耀英雄及技能爬取并保存信息到excelhttps://blog.csdn.net/knighthood200 ...
- 【NER】CCL2021医疗命名体识别之数据预处理(处理.json文件)
[NER]医疗命名体识别之数据预处理(处理.json文件) 数据来源:2021年中文计算语言学研究大会的智能对话诊疗评测比赛 任务: 根据提供的医患对话,(1)识别其中的药物和症状实体名称.(2)然后 ...
- 把汇集多个json文件的txt进行分割,然后批量修改文件名后缀
数据类型,假设一个txt文件中有很多这样的数据: {"platform":"linux","kq_id":5,"device_id ...
- json文件转TXT文件
语义分割数据集转YOLOv5数据集 json文件 转txt文件 import json import os import os.path''' 获取图片名称 ''' def image_id(root ...
- 批量将json文件转为jpg格式
批量将json文件转为jpg格式 1.简介 labelme软件自带有将json文件转为jpg的代码,不过只限单张. 位于./cli/json_to_dataset.py. 2.批量生成代码 impor ...
- python图像文件处理——图像画框、剪切图像、json文件转txt
目录导航 给图像画框 labels文件[可以不看 接口介绍 简单程序 剪切图像 接口介绍 简单程序 处理文件 json文件转txt 生成list文件 之前做一个AI项目,处理训练集时写了一些pytho ...
最新文章
- HTTP协议Etag详解
- 雷观(八):等我有钱了再付费,是一种很扯淡很没有远见的想法
- SpringBoot @Value、 @ConfigurationProperties 与 @EnableConfigurationProperties 使用
- sql with as 用法
- C语言程序设计 | 模拟实现内存操作函数:strncpy, strncat, strncmp, memcpy, memmove
- iframe嵌套的html高度,iframe 多层嵌套 无限嵌套 高度自适应的解决方案
- oc和java_oc与java c++语法区别
- oracle 字段对错,oracle 两表之间字段赋值错误解析
- springboot整合XXL-JOB实行动态定时任务
- 写bat文件,报系统找不到指定文件的处理方式
- linux命令 ---rm
- Win10 下Go语言和Goland的下载和环境配置
- 分享154个ASP源码,总有一款适合您
- JS-DOM对象--节点--添加图片的操作
- 谁是卧底服务器维护,问道手游8.9每周探案谁是卧底答案分享_蚕豆网新闻
- 【basler】Chapter2:balser二次开发
- html5下拉列表显示多列,多列网格样式下拉列表框美化jQuery插件
- 英语不好学不会Python?我觉得你需要详读这篇文章
- mysql 数据分析如何实现日报、周报、月报和年报?
- errors and 0 warnings potentially fixable with the `--fix` option.