然而,一旦人眨眼(右上),眼睛的纵横比就会急剧下降,接近于零。
下图绘制了视频剪辑的眼睛纵横比随时间变化的图表。 正如我们所看到的,眼睛纵横比是恒定的,然后迅速下降到接近零,然后再次增加,表明发生了一次眨眼。
在下一节中,我们将学习如何使用面部标志、OpenCV、Python 和 dlib 实现眨眼检测的眼睛纵横比。
==============================================================================
首先,打开一个新文件并将其命名为 detect_blinks.py 。 从那里,插入以下代码:
import the necessary packages
from scipy.spatial import distance as dist
from imutils.video import FileVideoStream
from imutils.video import VideoStream
from imutils import face_utils
import numpy as np
import argparse
import imutils
import time
import dlib
import cv2
导入必要的库。
如果您的系统上没有安装 imutils(或者如果您使用的是旧版本),请确保使用以下命令安装/升级:
pip install --upgrade imutils
如果没有安装dlib,请参考我的文章:
https://wanghao.blog.youkuaiyun.com/article/details/121470556
接下来,我们将定义我们的 eye_aspect_ratio 函数:
def eye_aspect_ratio(eye):
compute the euclidean distances between the two sets of
vertical eye landmarks (x, y)-coordinates
A = dist.euclidean(eye[1], eye[5])
B = dist.euclidean(eye[2], eye[4])