图像分割,标注文件COCO的JSON文件合并

主体内容是基于这个作者的,我做了修改更适合自己。

https://blog.csdn.net/weixin_44151034/article/details/119321450?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3.no_search_link

import json
import os

# 需要合并的json文件路径
path = 'G:/xiao/dataset_molcreate/create_ann/test/json/'
entries = os.listdir(path)
entries.sort()

main = open(path + entries[0])
main = json.load(main)

# 第一个json文件 image的数量
main_image_number = len(main['images'])
# 第一个json文件 annotation的数量
main_annotation_number = len(main['annotations'])

# 这里获得所有的图像信息和标注ann信息
for entry in entries[1:]:
    file = open(path + entry)
    file = json.load(file)

    for i in file['images']:
        main['images'].append(i)

    for i in file['annotations']:
        main['annotations'].append(i)
#这里对图像信息的id进行修改
for i in range(len(main['images'])):
    main['images'][i]['id'] = i+1
#这里对标注信息的id和图像id进行修改
for i in range(len(main['annotations'])):
    main['annotations'][i]['id'] = i+1
    if main['annotations'][i]['id'] > main_annotation_number:
        main['annotations'][i]['image_id'] = main['annotations'][i]['image_id'] + main_image_number
#保存在这个路径下的json文件, 可以修改
with open('G:/xiao/dataset_molcreate/create_ann/test/data.json', 'w') as outfile:
    json.dump(main, outfile)

1.适用路径中只能有两个json文件,如果有多个,还需要修改的点就是标注信息的图像id,它没有配对好。
2.其他应该没有问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骨子带刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值