import matplotlib.image as im
import matplotlib.pyplot as plt
import os
from PIL import Image
import json
from classification import Classification
classfication = Classification()
# 需要读取的路径
path_name = r'E:\1\classification\img'
content_json = []
#类名称对应的整形编码
label_name_dic = {
"GuideSign": 0,
"M1": 1,
"M4": 2,
"M5": 3,
"M6": 4,
"M7": 5,
"P1": 6,
"P10_50": 7,
"P12": 8,
"W1": 9,
}
for item in os.listdir(path=path_name):
image = Image.open(os.path.join(path_name, item))
file_path = os.path.join('test_dataset/', item)
print(file_path)
#类名
class_name = classfication.detect_image(image)
#取出类名对应的整形编码
for key in label_name_dic.keys():
if class_name == key:
class_name_label = label_name_dic[key]
#将一次的结果保存成字典
content_dic = {
"filename": file_path,
"label": class_name_label,
}
#添加进列表
content_json.append(content_dic)
print(class_name)
print(content_json)
result = {"annotations": content_json}
print(result)
json_str = json.dumps(result)
with open('result.json', 'w') as json_file:
json_file.write(json_str)
##多行,带缩进
# with open("result.json", "w") as f:
# f.write(json.dumps(result, ensure_ascii=False, indent=4, separators=(',', ':')))
脚本2—遍历文件夹下的图片进行检测,将结果保存成json格式predict_batch_tojson_一行_多行
于 2022-08-07 11:46:51 首次发布