import importlib from django.conf import settings import logging myLogger = logging.getLogger('log') algo_dict = { "helmet": "apps.helmet.algo.helmet" } def ai_analyse(codes: list, global_img: str, face_img: str=None): """多线程进行算法分析图片 Args: codes: 算法列表 global_img (str): 全景图片地址 face_img (str): 人脸图片地址 """ results = {} for i in codes: if i in algo_dict: # 如果算法支持 module, func = algo_dict[i].rsplit(".", 1) m = importlib.import_module(module) f = getattr(m, func) try: is_happend, res = False, None if i == 'helmet': # 如果是安全帽识别 if face_img: is_happend, res = f(ip=settings.AI_IP, path=face_img) else: is_happend, res = f(ip=settings.AI_IP, path=global_img) else: is_happend, res = f(ip=settings.AI_IP, path=global_img) if is_happend: results.update({i: res}) except Exception: myLogger.error('算法处理错误', exc_info=True) return results