import cv2 import os from yolov8_det import analysis_yolov8 class atm_det: # 根据bbox截取小图 def cut_img_bbox(img,bbox): # blist = bbox.tolist() x_min = bbox[0] y_min = bbox[1] x_max = bbox[2] y_max = bbox[3] obj_img = img[int(y_min):int(y_max), int(x_min):int(x_max)] #cv2裁剪出目标框中的图片 #保存图片 # cut_images = obj_img_path + '\\' + '%s_%s'%(img_name, count) + '.jpg' return obj_img # 获得atm检测中工作人员数据、并截取小图 def get_person_result(imgpath,model_person): imgname = os.path.basename(imgpath) images = cv2.imread(imgpath) per_result = analysis_yolov8(images=images, model_coco=model_person, confidence=0.5 ) return per_result # 检测手部动作是否有握笔签字、输入密码等动作 def get_pph_result(imgpath,model_pp_hand): images = cv2.imread(imgpath) pph_result = analysis_yolov8(images=images, model_coco=model_pp_hand, confidence=0.5 ) return pph_result # 获得当前屏幕上按钮信息 def get_blue_result(images,model_blue): blue_result = analysis_yolov8(images=images, model_coco=model_blue, confidence=0.5 ) blues_list = [] for blues in blue_result: blue = list(blues.values())[0] blues_list.append(blue) return blues_list # 获得当前屏幕信息 def get_screen_result(imgpath,model_screen): imgname = os.path.basename(imgpath) images = cv2.imread(imgpath) screen_result = analysis_yolov8(images=images, model_coco=model_screen, confidence=0.5 ) return screen_result