def read_labels(label_file):
try:
with open(label_file, 'r', encoding='utf-8') as f:
lines = f.readlines()
except FileNotFoundError:
print(f"文件{label_file}未找到,请检查路径是否正确。")
return {}
except Exception as e:
print(f"读取{label_file}时发生错误: {e}")
return {}
labels = {}
for line in lines:
try:
img_name, data = line.strip().split('\t')
labels[img_name] = json.loads(data)
except ValueError: # JSON解析错误
print(f"解析图片'{img_name}'数据失败,数据可能不合法。")
except Exception as e:
print(f"处理图片'{img_name}'数据时发生其他错误: {e}")
return labels
def detect_building_name(image_path):
results = ocr.ocr(image_path, cls=True)
for idx, res in enumerate(results):
for line in res:
text = line[1][0]
if "大厦" in text:
return text
return "未知大厦"
读取标签文件。
遍历每张图片,使用OCR识别楼宇名称。
根据标签数据识别火花和楼层。
确定火灾发生的楼层。
可以加Q 3562487425交流