在 Python 中使用 cv2 进行嗜睡检测

本文介绍如何使用 Python 的 cv2 和 dlib 库构建一个简单的疲劳检测应用,通过检测视频中的人物眼睛状态来判断是否处于嗜睡状态。项目代码简洁,不到80行,包括了图像处理、面部检测和眼点识别等步骤。当检测到连续几帧的眼睛闭合超过预设阈值时,程序会触发警告。文章还提到了其他疲劳检测方法,如训练神经网络。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

48571e30ff6c816d85cff4b965928499.png

大家好,在这个博客中,我们将构建一个嗜睡检测应用程序,它将检测视频中的人是否变得昏昏欲睡。

这是一个非常有趣且简单的项目,代码甚至不到 80 行,让我们开始吧

看看最终输出

注意——你不会在这里听到警报声,因为它是 GIF,你可以在博客上查看视频:

https://machinelearningprojects.net/drowsiness-detection/

44180a5da1ddb86d8b9f432fbcb3f0aa.gif

嗜睡检测代码

from imutils import face_utils
import dlib
import cv2
from pygame import mixer

thres = 6
mixer.init()
sound = mixer.Sound('alarm.wav')
dlist = []
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
cap = cv2.VideoCapture(0)

def dist(a,b):
    x1,y1 = a
    x2,y2 = b
    return ((x1-x2)**2 + (y1-y2)**2)**0.5
 
while True:
    # Getting out image by webcam 
    _, image = cap.read()
    # Converting the image to gray scale
    gr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值