def __init__(self,heads_list=[],predictor_path="./data/shape_predictor_68_face_landmarks.dat"):
'''
head_list:
?????????????????????????????????????????
?????????????????????????
predictor_path:
dlib?????
'''
#??????
self.PREDICTOR_PATH = predictor_path
self.FACE_POINTS = list(range(17, 68))
self.MOUTH_POINTS = list(range(48, 61))
self.RIGHT_BROW_POINTS = list(range(17, 22))
self.LEFT_BROW_POINTS = list(range(22, 27))
self.RIGHT_EYE_POINTS = list(range(36, 42))
self.LEFT_EYE_POINTS = list(range(42, 48))
self.NOSE_POINTS = list(range(27, 35))
self.JAW_POINTS = list(range(0, 17))
# ????????
self.ALIGN_POINTS = (self.LEFT_BROW_POINTS + self.RIGHT_EYE_POINTS + self.LEFT_EYE_POINTS +
self.RIGHT_BROW_POINTS + self.NOSE_POINTS + self.MOUTH_POINTS)
# ???????????????????????????????????????????
self.OVERLAY_POINTS = [self.LEFT_EYE_POINTS + self.RIGHT_EYE_POINTS + self.LEFT_BROW_POINTS + self.RIGHT_BROW_POINTS,
self.NOSE_POINTS + self.MOUTH_POINTS]
# ??????
self.COLOUR_CORRECT_BLUR_FRAC = 0.6
#?????????????dlib
self.detector = dlib.get_frontal_face_detector()
self.predictor = dlib.shape_predictor(self.PREDICTOR_PATH)
#????
self.heads={}
if heads_list:
self.load_heads(heads_list)
评论列表
文章目录