self.detector = get_frontal_face_detector() # 面部识别器
self.predictor = shape_predictor(“shape_predictor_68_face_landmarks.dat”) # 面部分析器
self.fps = 4 # 面具存在时间基础时间
self.animation_time = 0 # 动画周期初始值
self.duration = self.fps * 4 # 动画周期最大值
self.fixed_time = 4 # 画图之后,停留时间
self.max_width = 500 # 图像大小
self.deal, self.text, self.cigarette = None, None, None # 面具对象
- 按照上面介绍,我们先实现读取视频流转换图片的函数:
def read_data(self):
“”"
从摄像头获取视频流,并转换为一帧一帧的图像
:return: 返回一帧一帧的图像信息
“”"
_, data = self.video_capture.read()
return data
- 接下来我们实现人脸定位函数,及眼镜和烟卷的定位:
def get_glasses_info(self, face_shape, face_width):
“”"
获取当前面部的眼镜信息
:param face_shape:
:param face_width:
:return:
“”"
left_eye = face_shape[36:42]
right_eye