初始化部分
- 加载hog人脸检测器
- 加载关键点检测器
- 初始化Percols算法类
相机拍摄流程
- 打开本地摄像机cp
- 循环本地摄像镜头的帧
- 在视频帧中找出人脸部位
- 在脸部中检测人脸的关键点
- 在关键点中找出人眼的关键点
- 通过人眼关键点找出人眼的长宽比ear
- 通过ear来检测人眼的眨眼并并push到percols算法类中
- 通过算法获取使用者是否疲倦
- 画出人脸关键点
- 画出相关的信息
- 程序界面中键入英文q即可退出
整体算法流程图

Percols算法类
通过一个队列维护当前需要检测的时间内的眼睛长宽比,来判定是否疲倦
参数:
ratio:percols的参数,0.8为比较好的经验值
frameRate:视频的帧率
second: 需要检测的视频的时长
push()函数
输入参数:eyeStatus(bool) 眼睛的状态,眼睛长宽比小于2.5为False,大于2.5为True
isTired()函数
输入参数:无
输出:bool 是否疲倦