返回顶部
首页 > 资讯 > 后端开发 > Python >基于Python实现打哈欠检测详解
  • 165
分享到

基于Python实现打哈欠检测详解

2024-04-02 19:04:59 165人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录效果图基本思路部分源码效果图 基本思路 在 OpenCV 中使用VideoCapture方法初始化视频渲染对象创建灰度图像导入预训练模型,识别脸部和人脸标志计算上唇和下唇距离(

效果图

基本思路

  • OpenCV 中使用VideoCapture方法初始化视频渲染对象
  • 创建灰度图像
  • 导入预训练模型,识别脸部和人脸标志
  • 计算上唇和下唇距离(其它类似)
  • 创建唇边距离的If条件,满足则是打哈欠,不满足则只是简单的张嘴
  • 显示帧/图像

部分源码

  suc, frame = cam.read()
    # 读取不到退出
    if not suc:
        break

    # ---------FPS------------#
    ctime = time.time()
    fps = int(1 / (ctime - ptime))
    ptime = ctime
    cv2.putText(frame, f'FPS:{fps}', (frame.shape[1] - 120, frame.shape[0] - 20), cv2.FONT_HERSHEY_PLaiN, 2,
                (0, 200, 0), 3)

    # ------检测人脸------#
    # 转为灰度
    img_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    faces = face_model(img_gray)
    for face in faces:
        # 检测人脸,框起来-#
        x1 = face.left()
        y1 = face.top()
        x2 = face.right()
        y2 = face.bottom()
        # print(face.top())
        cv2.rectangle(frame, (x1, y1), (x2, y2), (200, 0, 00), 2)

        # ----------检测人脸标注-----------#
        shapes = landmark_model(img_gray, face)
        shape = face_utils.shape_to_np(shapes)

        # -------检测上下唇--------#
        lip = shape[48:60]
        cv2.drawContours(frame, [lip], -1, (0, 165, 255), thickness=3)

        # -------计算上下唇距离-----#
        lip_dist = cal_yawn(shape)
        # 打印距离
        # print(lip_dist)
        # 大于设定值,则认定是打哈欠
        if lip_dist > yawn_thresh:
            cv2.putText(frame, f'User Yawning!', (frame.shape[1] // 2 - 170, frame.shape[0] // 2),
                        cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 200), 2)

    # 按字母q退出
    cv2.imshow('WEBcam', frame)
    if cv2.waiTKEy(1) & 0xFF == ord('q'):
        break

到此这篇关于基于python实现打哈欠检测详解的文章就介绍到这了,更多相关Python打哈欠检测内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 基于Python实现打哈欠检测详解

本文链接: https://www.lsjlt.com/news/117241.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于Python实现打哈欠检测详解
    目录效果图基本思路部分源码效果图 基本思路 在 OpenCV 中使用VideoCapture方法初始化视频渲染对象创建灰度图像导入预训练模型,识别脸部和人脸标志计算上唇和下唇距离(...
    99+
    2024-04-02
  • python基于Opencv实现人脸口罩检测
    一、开发环境 python 3.6.6 opencv-python 4.5.1 二、设计要求 1、使用opencv-python对人脸口罩进行检测 三、设计原理 设计流程图如图3-1...
    99+
    2024-04-02
  • 基于Python OpenCV和 dlib实现眨眼检测
    目录了解“眼睛纵横比”(EAR)使用面部标志和 OpenCV 检测眨眼眨眼检测结果总结今天,我们使用面部标记和 OpenCV 检测视频流中的眨眼次数。 为了构建我们的眨眼检测器,我们...
    99+
    2024-04-02
  • 基于Python实现口罩佩戴检测功能
    目录口罩佩戴检测一 题目背景1.1 实验介绍1.2 实验要求1.3 实验环境1.4 实验思路二 实验内容2.1 已知文件与数据集2.2 图片尺寸调整2.3 制作训练时需要用到的批量数...
    99+
    2024-04-02
  • 基于Unity实现2D边缘检测
    目录一、ShaderLab1.Alpha值边缘检测2.卷积边缘检测二、ShaderGraph一、ShaderLab 1.Alpha值边缘检测 根据图片的Alpha值边缘判定,向内扩...
    99+
    2024-04-02
  • Python+OpenCV实现边缘检测与角点检测详解
    目录一、边缘检测1.1、读取图像1.2、图像转换成灰度图像1.3、Sobel算子1.4、Canny算子1.5、显示正常中文的标签1.6、边缘检测结果二、角点检测2.1、读取图像2.2...
    99+
    2023-02-03
    Python OpenCV边缘检测 Python OpenCV角点检测 Python OpenCV 检测
  • 基于Python的人脸检测与分类过程详解
    目录人脸识别算法简介人脸检测简述数据集介绍算法介绍测试网络结果预览人脸识别 算法简介 我们的算法可以分成两个部分,识别人脸位置和确定人脸分类。这两个部分可以看成:1.检测出人脸之间相...
    99+
    2024-04-02
  • 详解基于Matlab的空心散点检测
    目录问题描述过程展示图像导入依据RGB值图像二值化图像腐蚀图像边缘清理联通区域查找与坐标均值计算圈查找完整代码其它形状空心散点检测问题描述 有一张这样的图片,如何提取里面的红色圈圈坐...
    99+
    2024-04-02
  • Android基于OpenCV实现Harris角点检测
    目录什么是角点? 为什么要检测角点? Harris角点检测 API操作效果 源码 什么是角点? 角点就是极值点,即在某方面属性特别突出的点。当然,你可以自己定义角点的属性(设置特定...
    99+
    2024-04-02
  • 基于FLink如何实现实时安全检测
    这篇“基于FLink如何实现实时安全检测”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于FLink如何实现实时安全检测”文...
    99+
    2023-07-05
  • Android基于OpenCV实现QR二维码检测
    目录QR二维码QR二维码格式QR二维码结构APIQRCodeDetector类结构检测QR二维码识别QR二维码检测并识别QR二维码操作结果源码QR二维码 QR码(英语:Quick...
    99+
    2024-04-02
  • Android基于OpenCV实现霍夫直线检测
    目录霍夫直线检测点和线的对偶性极坐标参数方程API操作效果霍夫直线检测 点和线的对偶性 图像空间中的点,对应霍夫空间中的直线 图像空间中的直线,对应霍夫空间中的...
    99+
    2024-04-02
  • OpenCV基于ORB算法实现角点检测
    本文实例为大家分享了OpenCV基于ORB算法实现角点检测的具体代码,供大家参考,具体内容如下 ORB算法是FAST算法和BRIEF算法的结合,ORB可以用来对图像中的关键点快速创建...
    99+
    2024-04-02
  • 如何实现基于opencv的行人检测
    这篇文章主要为大家展示了“如何实现基于opencv的行人检测”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现基于opencv的行人检测”这篇文章吧。基于方向梯度直方图(HOG)/线性支持向...
    99+
    2023-06-22
  • 基于Unity怎么实现2D边缘检测
    今天小编给大家分享一下基于Unity怎么实现2D边缘检测的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、ShaderLab...
    99+
    2023-06-30
  • 基于Mediapipe+Opencv实现手势检测功能
    目录一、前言二、环境配置软件:环境:三、全部源码MediapipeHandTracking.py程序结构:MediapipeHandTracking.py源码与注释四、环境配置1、在...
    99+
    2024-04-02
  • 如何基于OpenCV&Python实现霍夫变换圆形检测
    简述 基于python使用opencv实现在一张图片中检测出圆形,并且根据坐标和半径标记出圆。不涉及理论,只讲应用。 霍夫变换检测圆形的原理 其实检测圆形和检测直线的原理差别不大...
    99+
    2024-04-02
  • python目标检测基于opencv实现目标追踪示例
    目录主要代码信息封装类更新utilspython-opencv3.0新增了一些比较有用的追踪器算法,这里根据官网示例写了一个追踪器类 程序只能运行在安装有opencv3.0以上版本和...
    99+
    2024-04-02
  • 基于Python实现虚假评论检测可视化系统
    目录1.app.py2.LR_xitong.py3.singleSentence.py4.批量文本的处理5.爬取网页代码主要代码是参考:https://github.com/Soul...
    99+
    2023-05-16
    Python实现虚假评论检测系统 Python 虚假评论检测系统 Python实现虚假评论检测 Python评论检测
  • Python+MediaPipe实现检测人脸功能详解
    目录MediaPipe概述人脸检测MediaPipe概述 谷歌开源MediaPipe于2019年6月首次推出。它的目标是通过提供一些集成的计算机视觉和机器学习功能,使我们的生活变得轻...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作