labelme多目标标注问题
问题:在labelme标注多目标时存在不匹配的问题,任何一张图片都是从1开始,不能自定义标签号,考虑改写json2datasets文件,使他根据标签名称去定义标签号。
解决:
我的目录层级是
/datasets_new/img1/img1_fuse.jpg
/datasets_new/img1/img1_fuse.json
/datasets_new/img2/img2_fuse.jpg
/datasets_new/img2/img2_fuse.json
…
执行脚本就把目录下所有json转换完毕,大家可以根据不同的目录方式,可以自行修改代码,
import os
import random
import shutil
import re
import argparse
import json
import os
import os.path as osp
import warnings
import PIL.Image
import yaml
from labelme import utils
import base64
def main():
warnings.warn("This script is aimed to demonstrate how to convert the\n"
"JSON file to a single image dataset, and not to handle\n"
"multiple JSON files to generate a real-use dataset.")
parser = argparse.ArgumentParser()
parser.add_argument('data_path')
parser.add_argument('-o', '--out', default=None)
args = parser.parse_args()
#对不同标签定义一个号,每个号有自己的颜色...从1开始排就可以
label_name_to_value = {
'_background_': 0,
'change':1,
'disappear':2,
'add':3}
count = []
for i in os.listdir(args.data_path):
path1 = os.path.join(args.data_path,i)
for j in os.listdir(path1)