优化ocr检测时间,加载默认模型
This commit is contained in:
		| @ -44,7 +44,6 @@ def save_db(model_type, client_ip, result): | ||||
|  | ||||
|  | ||||
| def detectFrame(client_ip, frame): | ||||
|  | ||||
|     # YOLO检测 | ||||
|     yolo_flag, yolo_result = yoloDetect(frame, float(BUSINESS_CONFIG["yolo_conf"])) | ||||
|     if yolo_flag: | ||||
| @ -103,36 +102,11 @@ def danger_handler(client_ip): | ||||
|             json_data=json.dumps(lock_msg) | ||||
|         ) | ||||
|     ) | ||||
|  | ||||
|     # 增加危险记录次数 | ||||
|     increment_alarm_count_by_ip(client_ip) | ||||
|  | ||||
|     # 更新设备状态为未处理 | ||||
|     update_is_need_handler_by_client_ip(client_ip, 1) | ||||
|  | ||||
| def extract_prohibited_words(ocr_result: str) -> str: | ||||
|     """ | ||||
|     从多文本块的ocr_result中提取所有违禁词(去重后用逗号拼接) | ||||
|     适配格式:多个"文本: ... 包含违禁词: ...;"片段 | ||||
|     """ | ||||
|     # 用正则匹配所有"包含违禁词: ...;"的片段(非贪婪匹配到分号) | ||||
|     # 匹配规则:"包含违禁词: "后面的内容,直到遇到";"结束 | ||||
|     pattern = r"包含违禁词: (.*?);" | ||||
|     all_prohibited_segments = re.findall(pattern, ocr_result, re.DOTALL) | ||||
|  | ||||
|     all_words = [] | ||||
|     for segment in all_prohibited_segments: | ||||
|         # 去除每个片段中的置信度信息(如"(置信度: 1.00)") | ||||
|         cleaned = re.sub(r"\s*\([^)]*\)", "", segment.strip()) | ||||
|         # 分割词语并过滤空值 | ||||
|         words = [word.strip() for word in cleaned.split(",") if word.strip()] | ||||
|         all_words.extend(words) | ||||
|  | ||||
|     # 去重后用逗号拼接 | ||||
|     unique_words = list(set(all_words)) | ||||
|     return ",".join(unique_words) | ||||
|  | ||||
|  | ||||
| def extract_face_names(face_result: str) -> str: | ||||
|     pattern = r"匹配: (.*?) \(" | ||||
|     all_names = re.findall(pattern, face_result) | ||||
|  | ||||
		Reference in New Issue
	
	Block a user