labelme根据一个标注数据生成多个相同的标注文件
import os
import json
filelist = os.listdir("D:\Test_TF\Test")
filelist.sort() # 文件名列表排序
base_path = "D:\Test_TF\Test\\"
# dic = {"labels": [{"name": "A类"}]} # 每类图像都是一类固定的标签
# label_value = json.dumps(dic) # 字典转换字符串
json_path = r"D:\Test_TF\Test\0531-shijihuanjing2_ExternDisk_005.json"
with open(json_path,"r") as json_file:
dic = json.load(json_file)
# label_value = json.dumps(dic)
with open (json_path,"w") as f:
label_value = json.dumps(dic)
for name in filelist:
# file_realname = name.translate(str.maketrans('','','.jpg'))
file_realname = os.path.splitext(name)
if file_realname[1]==".jpg":
print(file_realname)
filename = file_realname[0] + '.json'
full_path = base_path + filename
file = open(full_path,'w')
file.write(label_value)
file.close()
# 修改 json文件 imagePath的value
with open(full_path, 'r') as fr:
json_all = json.load(fr)
# print(type(json_all))
json_all['imagePath'] = file_realname[0]+'.jpg'
with open(full_path, 'w+') as fw:
json.dump(json_all, fw, ensure_ascii=False, indent=4)
file.close()