读取文件夹,将json文件转化为txt文件
一 样例1 json文件只有一个样本
1 json文件内容
{
"version": "4.5.7",
"flags": {
},
"shapes": [
{
"label": "car",
"points": [
[
737.3076923076923,
244.8461538461538
],
[
1028.076923076923,
555.6153846153846
]
],
"group_id": null,
"shape_type": "rectangle",
"flags": {
}
}
],
"imagePath": "..\\..\\images\\train2017\\000001.jpg",
"imageData": "/9j/4AAQSkZJR"
2 代码转化
读取文件夹,将json文件转化为txt文件,即将JSON的关键数据读出
import os
import json
json_dir = 'C:/Users/YourName/Desktop/coco128/labels/train2017/' # json文件路径
out_dir = 'C:/Users/YourName/Desktop/output/' # 输出的 txt 文件路径
def get_json(json_file, filename):
# 读取 json 文件数据
with open(json_file, 'r') as load_f:
content = json.load(load_f)
# # 循环处理
tmp = filename
filename_txt = out_dir + tmp + '.txt'
#创建txt文件
fp = open(filename_txt, mode="w", encoding="utf-8")
#将数据写入文件
# 计算 yolo 数据格式所需要的中心点的 相对 x, y 坐标, w,h 的值
x = (content["shapes"][0])["points"][0][0]
y = (content["shapes"][0])["points"][0][1]
w = (content["shapes"][0])["points"][1][0] - (content["shapes"][0])["points"][0][0]
h = (content["shapes"][0])["points"][1][1] - (content["shapes"][0])["points"][0][1]
fp = open(filename_txt, mode="r+", encoding="utf-8")
file_str = str(filename) + ' ' + str(round(x, 6)) + ' ' + str(round(y, 6)) + ' ' + str(round(w, 6)) + \
' ' + str(round(h,

该博客展示了如何将包含多个样本的JSON标注文件转换为TXT格式,适用于不同的数据结构,包括单个矩形框、多个多边形和特定标记点的数据。通过读取JSON文件,解析关键数据,然后将它们写入TXT文件,实现数据格式的转换,以适应不同的目标检测和图像识别任务。
最低0.47元/天 解锁文章
2557

被折叠的 条评论
为什么被折叠?



