def preprocess(img):
results_0 = detector.detect_face(img)
if len(results_0) != 0:
result_0 = max(results_0, key=lambda r: r['area'])
else:
result_0 = None
result_1 = detector_dlib.getLargestFaceBoundingBox(img)
if result_0 is not None and result_1 is not None:
if result_1.area() * 0.6 > result_0['area']:
crop_img = detector_dlib.prepocessImg(img, result_1)
else:
crop_img = crop_rotate(img, result_0['left_eye'], result_0['right_eye'], result_0['width'])
elif result_0 is not None and result_1 is None:
crop_img = crop_rotate(img, result_0['left_eye'], result_0['right_eye'], result_0['width'])
elif result_0 is None and result_1 is not None:
crop_img = detector_dlib.prepocessImg(img, result_1)
else:
crop_img = img[70:210, 65:185, :]
crop_img = cv2.resize(crop_img, (96, 112), interpolation=cv2.INTER_CUBIC)
return crop_img
评论列表
文章目录