txt2json(坐标点、标签txt文件转成labelme json标签文件)

简介: txt2json(坐标点、标签txt文件转成labelme json标签文件)

import json
import os
import json
import numpy as np
#from pyasn1.compat.octets import null
#import simplejson
#path = "input/obs_det.txt_stats_tool_out.bin_11.jpg_000010.txt"
#path="input/obs_det.txt_stats_tool_out.bin_12.jpg_000011.txt"
import  glob
path="txt_1838/"
save_path = "json_1838/"
#path_txt=path+"obs_det.txt_stats_tool_out.*.txt"
path_txt=path+"gen_json.txt_stats_tool_out.bin_*.txt"
class_names = {0: "bicycle", 1: "traffic_cone", 2: "parking_lock", 3: "carton", 4: "seat"}
for i in glob.glob(path_txt):
    print(i)
    filename=i.split("/")[1].split(".")[2].split("bin_")[1]
    print("filename:",filename)
    with open(i, "r", encoding='utf-8') as f:  # 打开文本
        datas = f.readlines()  # 读取文本
        shapes = {}
        js = {}
        js['version'] = "4.5.13"
        js['flags'] = {}
        js['shapes'] = []
        filename = filename
        js['imagePath'] = filename + ".jpg"
        # data['imageData'] = "null"
        js['imageData'] = None
        jj=[]
        js['imageHeight'] = 960
        js['imageWidth'] = 1280
        for data in datas:
        #for data in range(len(datas)):
            print("data:", data)
            data = data.split(" ")
            label_id = int(data[4])
            class_names[label_id]
            minx1 = min(float(data[9]), float(data[7]))
            maxx1 = max(float(data[9]), float(data[7]))
            miny1 = min(float(data[8]), float(data[10]))
            maxy1 = max(float(data[8]), float(data[10]))
            print("lab:", label_id)
            print("minx1:", type(maxx1))
            print("minx1:", minx1, "maxx1:", maxx1, "miny1:", miny1, "maxy1:", maxy1)
            shapes['points'] = []
            shapes['group_id'] = None
            shapes['shape_type'] = "rectangle"
            shapes['flags'] = {}
            shapes['label'] = class_names[label_id]  # 重写label
            shapes['points'].append([minx1, miny1])
            shapes['points'].append([maxx1, maxy1])
            jj.append(shapes)
        js["shapes"]=jj
        article = json.dumps(js,indent=2)
        print("type:", type(article))
        with open(os.path.join(save_path, filename+'.json'), "w", encoding='utf-8') as f1:
            f1.write(article)

相关文章
|
2月前
|
JSON 算法 vr&ar
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
本文介绍了如何使用COCO评估器通过Detectron2库对目标检测模型进行性能评估,生成coco_instances_results.json文件,并利用pycocotools解析该文件以计算AP、AR、MR和DR等关键指标。
146 1
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
|
2月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
52 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
2月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
130 2
|
3月前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
97 1
|
2月前
|
JSON 数据格式 计算机视觉
Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
本文介绍了如何使用OpenCV和Python根据JSON标注文件获取并绘制目标区域,同时可将裁剪的图像单独保存。通过示例代码,展示了如何读取图片路径、解析JSON标注、绘制标注框并保存裁剪图像的过程。此外,还提供了相关的博客链接,供读者进一步学习。
54 0
|
3月前
|
JSON 数据格式 Python
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
1月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
1月前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
1月前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
下一篇
DataWorks