欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 常用目标检测的格式转换脚本文件txt,json等

常用目标检测的格式转换脚本文件txt,json等

2025/3/13 7:16:27 来源:https://blog.csdn.net/m0_60890175/article/details/140072224  浏览:    关键词:常用目标检测的格式转换脚本文件txt,json等

常用目标检测的格式转换脚本文件txt,json等


文章目录

  • 常用目标检测的格式转换脚本文件txt,json等
  • 前言
  • 一、json格式转yolo的txt格式
  • 二、yolov8的关键点labelme打的标签json格式转可训练的txt格式
  • 三、yolo的目标检测txt格式转coco数据集标签的json格式
  • 四、根据yolo的目标检测训练的最好权重推理图片
  • 五、根据yolo标签的txt文件提取某一个特征类别的标签, 并在原图上进行绘制
  • 六、根据yolo标签的txt文件提取某一个特征类别的标签, 并在原图上进行绘制


前言

⭐️ ⭐️ ⭐️ 还在完善中 ⭐️ ⭐️ ⭐️

本节主要介绍在目标检测领域内,常用的格式转换脚本


一、json格式转yolo的txt格式

json格式的目标检测数据集标签格式转yolo目标检测的标签txt的格式

代码如下(示例): 主要修改 classes, json_folder_path, output_dir

"""
目标检测的 json --> 转为 yolo的txt
"""
import json
import osdef 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] - box[0]h = box[3] - box[1]x = x * dww = w * dwy = y * dhh = h * dhreturn (x, y, w, h)def decode_json(json_path, output_dir, classes):with open(json_path, 'r', encoding='utf-8') as f:data = json.load(f)base_name = os.path.splitext(os.path.basename(data['imagePath']))[0]txt_path = os.path.join(output_dir, base_name + '.txt')with open(txt_path, 'w', encoding='utf-8') as txt_file:for shape in data['shapes']:if shape['shape_type'] == 'rectangle':label = shape['label']if label not in classes:continuecls_id = classes.index(label)points = shape['points']x1, y1 = points[0]x2, y2 = points[1]  # Assuming the points are diagonalbb = convert((data['imageWidth'], data['imageHeight']), [x1, y1, x2, y2])txt_file.write(f"{cls_id} {' '.join(map(str, bb))}\n")if __name__ == "__main__":# 指定YOLO类别classes = ['loose', 'un-loose']  # 根据实际类别名称进行修改# JSON格式的标签文件路径json_folder_path = './json'  # 替换为实际的JSON文件夹路径

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词