JSON数据格式转TXT数据格式

这篇具有很好参考价值的文章主要介绍了JSON数据格式转TXT数据格式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近使用labelme工具标注了一批json格式的数据集,但是想用yolov5试一下检测效果。麻烦来了!需要将数据集转换成txt格式,想白嫖在网上找了大半天都没有我想要的,最后只有自己量身定做了!

1.我的文件夹目录

json转txt,大数据,json,opencv,python

 image文件夹:存放原始图片

json文件夹:存放对应的json文件

txt_label文件夹:存放转换后的txt文件

2.json格式数据集

json转txt,大数据,json,opencv,python

json格式如下:

json转txt,大数据,json,opencv,python

3.转换后得到的txt格式

json转txt,大数据,json,opencv,python

txt格式内容如下: 

4.转换代码

import json
import os
import xml.etree.ElementTree as ET
import cv2


# 将x1, y1, x2, y2转换成yolov5所需要的x, y, w, h格式
def xyxy2xywh(size, box):
    dw = 1. / size[0]
    dh = 1. / size[1]
    x = (box[0] + box[2]) / 2 * dw
    y = (box[1] + box[3]) / 2 * dh
    w = (box[2] - box[0]) * dw
    h = (box[3] - box[1]) * dh
    return (x, y, w, h)  # 返回的都是标准化后的值


def voc2yolo(path):
    # 可以打印看看该路径是否正确
    print(len(os.listdir(path)))
    pic_path = ''  # 原始图片路径
    txt_out_path = '' # 转换后txt保存路径
    # 遍历每一个xml文件
    for file in os.listdir(path):
        print(file)
        if "json" in str(file):
            with open(os.path.join(path, file), 'r') as f:
                data = json.load(f)
                print(data)
                points = data['shapes'][0]['points']
                pic_name = os.path.join(pic_path, data['imagePath'])
                txt_name = data['imagePath'].split(".")[0] + ".txt"
                imread = cv2.imread(pic_name)
                h = imread.shape[0]
                w = imread.shape[1]
                print(imread.shape)
                xmin = points[0][0]
                ymin = points[0][1]
                xmax = points[2][0]
                ymax = points[2][1]
                box = [float(xmin), float(ymin), float(xmax),
                       float(ymax)]
                print(box)
                #
                # # 将x1, y1, x2, y2转换成yolov5所需要的x, y, w, h格式
                bbox = xyxy2xywh((w, h), box)
                print(bbox)

                # # 写入目标文件中,格式为 id x y w h
                with open(os.path.join(txt_out_path, txt_name), 'w') as out_file:
                    out_file.write(str(0) + " " + " ".join(str(x) for x in bbox) + '\n')
                out_file.close()
                #exit()


if __name__ == '__main__':
    # json格式数据路径
    path = ''
    voc2yolo(path)

 文章来源地址https://www.toymoban.com/news/detail-585605.html

到了这里,关于JSON数据格式转TXT数据格式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 读写 json,csv,txt,docx,xlsx,xls文件大全

    最近再处理数据的时候,总会用到读写json,csv,xlsx和xls文件代码 这里就做个总结记录一下 扩展: json.loads(line)和 json.load(line) 通用写法: 1.2.1 list类型写入 1.2.2 dict类型写入 注意:json.dump()将Python对象序列化为JSON格式,并将其写入文件中。 扩展:json.dumps()和 json.dump() 2.2.1

    2024年02月06日
    浏览(46)
  • 用labelme标注矩形框和关键点得到的json文件转txt格式用于yolov5-face训练

    目录 我用labelme标注完的json文件长这样:标注了两种:矩形框和点 我要转换的txt格式长这样: json格式转txt如下: 从txt查看标注结果 参考的这位博主并在此基础上做了改动。(484条消息) LabelMe 标注的json转txt的格式转换教程_无损检测小白白的博客-CSDN博客 我用labelme标注完的

    2024年02月12日
    浏览(70)
  • 数据处理| 自己的数据集json文件转txt文件(YOLO所需文件)

    计算机视觉中文件处理的一些脚本文件! 首先一定要明确 自己的json格式 ,把自己的数据集设置为yolo所需要的格式。 #Json文件属性不同,提取信息不同 文件夹格式 json文件格式 需要提取的是 照片宽 \\\"W\\\": \\\"0.564815\\\", 照片高 \\\"H\\\": \\\"0.587961\\\", 归一化后的x,y值\\\"Point(x,y)\\\": \\\"0.587963,0.5223

    2024年02月04日
    浏览(45)
  • 目标检测实例分割数据集转换:从XML和JSON到YOLOv8(txt)

            如果大家想要了解关于yolov8的其他任务和相关内容可以点击这个链接,我这边整理了许多其他任务的说明博文,后续也会持续更新,包括yolov8模型优化、sam等等的相关内容。 YOLOv8(附带各种任务详细说明链接) 源码下载地址: XMLJSON 目标检测、实例分割标签转换

    2024年02月03日
    浏览(46)
  • TxT文件转json文件

    实际应用中很多设备导出的数据均为表格形式TXT文件,为了实际使用方便,可将内容转换成json文件,方便使用,java代码如下

    2024年02月04日
    浏览(23)
  • python之文件操作、对.txt文本文件的操作(读、写、修改、复制、合并)、对json文本文件的操作、json字符串与字典的相互转换。

    注意:本篇所讲的文件操作,都是对后缀为.txt、.json文件进行的操作。 1、json其实就是一个 文件的格式 ,像.txt一样,json也是一个 纯文本文件 。 与.txt不同的是, json常用来存放有键值对的数据,写法上像python中的字典一样, 但与字典不同的是 ,字典是一个数据类型,且

    2024年02月16日
    浏览(50)
  • 开源 SPL 助力 JAVA 处理公共数据文件(txt \csv \ json \xml \xls)

    在 JAVA 应用中经常要处理 txtcsvjsonxmlxls 这类公共格式的数据文件,直接用 JAVA 硬写会非常麻烦,通常要借助一些现成的开源包,但这些开源包也都有各自的不足。 解析库 。这种类库解决了从外部文件到内部对象的问题,比硬编码取数好写,常见的有解析 txtcsv 的 OpenCSV,

    2024年02月01日
    浏览(56)
  • Pyspark读写csv,txt,json,xlsx,xml,avro等文件

    读: 读: 写: 读: 写: 读: 写: 读: 写: 读: 写: 读: 写: 读: 写: 读: 写:

    2024年02月07日
    浏览(44)
  • 【100个 Unity实用技能】☀️ | Unity读取本地文件(Json,txt等)的三种方法示例

    老规矩,先介绍一下 Unity 的科普小知识: Unity 是 实时3D互动内容创作和运营平台 。 包括 游戏开发 、 美术 、 建筑 、 汽车设计 、 影视 在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和

    2023年04月08日
    浏览(66)
  • Python(21)json.dumps()使用indent参数 格式化输出json数据格式

    json.dumps() 方法 将一个Python数据结构转换为JSON字符串 输出为 这样的格式一般都不优美,当数据很多的时候,看得就不是很直观方便。 可以使用 indent=4 参数来对json进行数据格式化输出,会根据数据格式缩进显示,读起来更加清晰 用法如下 输出为 json.dumps()方法,参数解释

    2024年02月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包