Labelme 标签名批量修改

在使用Labelme标注数据时,把所有的标签都写错了 然后就借鉴了一下大佬的代码

只用修改主函数里面的变量就OK了

Labelme 标签名批量修改_第1张图片


# -*- encoding: utf-8 -*-
import os
import json


def Edit_label(json_dir,new_label = 'Maize'):

    json_files = os.listdir(json_dir)
    json_dict = {}
    for json_file in json_files:

        #  只获取json文件
        if json_file[-4:] != 'json':
            continue
        jsonfile = json_dir + '/' + json_file
        with open(jsonfile, 'r', encoding='utf-8') as jf:
            info = json.load(jf)

            # 找到位置进行修改
            for i, label in enumerate(info['shapes']):
                info['shapes'][i]['label'] = new_label

            # 使用新字典替换修改后的字典
            json_dict = info

        # 将替换后的内容写入原文件
        with open(jsonfile, 'w') as fw:
            json.dump(json_dict, fw)



if __name__ == '__main__':
    #  文件夹目录
    json_dir = r'E:\Datasets\Object_ detection'
    new_label = 'Maize'
    Edit_label(json_dir,new_label)
    print('OK!')

你可能感兴趣的:(深度学习,机器学习,python,深度学习,机器学习,大数据)