python3.8动态人脸识别的实现示例


Posted in Python onSeptember 21, 2020

一、准备依赖库

pip install dlib
pip python-opencv

二、代码实现 

#coding: utf-8
"""
从视屏中识别人脸,并实时标出面部特征点
"""
import dlib           #人脸识别的库dlib

import cv2           #图像处理的库OpenCv

# 使用特征提取器get_frontal_face_detector
detector = dlib.get_frontal_face_detector()
# 读入视频文件
# cap = cv2.VideoCapture("row.MP4")
#建cv2摄像头对象,这里使用电脑自带摄像头,如果接了外部摄像头,则自动切换到外部摄像头
cap = cv2.VideoCapture(0)

# 设置视频参数,propId设置的视频参数,value设置的参数值
cap.set(3, 480)
# 截图screenshoot的计数器
cnt = 0
# cap.isOpened() 返回true/false 检查初始化是否成功
while(cap.isOpened()):

  # cap.read()
  # 返回两个值:
  #  一个布尔值true/false,用来判断读取视频是否成功/是否到视频末尾
  #  图像对象,图像的三维矩阵
  flag, im_rd = cap.read()

  # 每帧数据延时1ms,延时为0读取的是静态帧
  k = cv2.waitKey(1)

  # 取灰度
  img_gray = cv2.cvtColor(im_rd, cv2.COLOR_RGB2GRAY)

  # 使用人脸检测器检测每一帧图像中的人脸。并返回人脸数rects
  faces = detector(img_gray, 0)

  # 待会要显示在屏幕上的字体
  font = cv2.FONT_HERSHEY_SIMPLEX

  # 如果检测到人脸
  if(len(faces)!=0):

    # 对每个人脸都画出框框
    for i in range(len(faces)):
      # enumerate方法同时返回数据对象的索引和数据,k为索引,d为faces中的对象
      for k, d in enumerate(faces):
        # 用红色矩形框出人脸
        cv2.rectangle(im_rd, (d.left(), d.top()), (d.right(), d.bottom()), (0, 255, 0),2)
        # 计算人脸热别框边长
        face_width = d.right() - d.left()
        #在上方显示文字
        cv2.putText(im_rd, str(face_width) , (d.left(), d.top()-20), font, 0.5, (255, 0, 0), 1)
    # 标出人脸数
    cv2.putText(im_rd, "Faces: "+str(len(faces)), (20,50), font, 1, (0, 0, 255), 1, cv2.LINE_AA)
  else:
    # 没有检测到人脸
    cv2.putText(im_rd, "No Face", (20, 50), font, 1, (0, 0, 255), 1, cv2.LINE_AA)

  # 添加说明
  im_rd = cv2.putText(im_rd, "S: screenshot", (20, 400), font, 0.8, (0, 0, 255), 1, cv2.LINE_AA)
  im_rd = cv2.putText(im_rd, "Q: quit", (20, 450), font, 0.8, (0, 0, 255), 1, cv2.LINE_AA)


  #检测按键
  k = cv2.waitKey(1)
  # 按下s键截图保存
  if (k == ord('s')):
    cnt+=1
    cv2.imwrite("screenshoot"+str(cnt)+".jpg", im_rd)
  # 按下q键退出
  if(k == ord('q')):
    break

  # 窗口显示
  cv2.imshow("camera", im_rd)

# 释放摄像头
cap.release()
# 删除建立的窗口
cv2.destroyAllWindows()

三、实验结果

python3.8动态人脸识别的实现示例

到此这篇关于python3.8动态人脸识别的实现示例的文章就介绍到这了,更多相关python3.8动态人脸识别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python获取单个程序CPU使用情况趋势图
Mar 10 Python
Python的Django框架中的数据库配置指南
Jul 17 Python
python 获取网页编码方式实现代码
Mar 11 Python
selenium使用chrome浏览器测试(附chromedriver与chrome的对应关系表)
Nov 29 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
python区块及区块链的开发详解
Jul 03 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 Python
pycharm 的Structure界面设置操作
Feb 05 Python
python如何在word中存储本地图片
Apr 07 Python
68行Python代码实现带难度升级的贪吃蛇
Jan 18 Python
如何在Anaconda中打开python自带idle
Sep 21 #Python
Python 实现国产SM3加密算法的示例代码
Sep 21 #Python
python如何实现DES加密
Sep 21 #Python
如何从csv文件构建Tensorflow的数据集
Sep 21 #Python
python打包多类型文件的操作方法
Sep 21 #Python
python 星号(*)的多种用途
Sep 21 #Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
Sep 21 #Python
You might like
MySQL中create table语句的基本语法是
2007/01/15 PHP
php中的比较运算符详解
2013/10/28 PHP
PHP提交表单失败后如何保留已经填写的信息
2014/06/20 PHP
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
2016/06/29 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
python动态监控日志内容的示例
2014/02/16 Python
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
Python如何快速上手? 快速掌握一门新语言的方法
2017/11/14 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
简洁的英文求职信范文
2014/05/03 职场文书
事业单位考核材料
2014/05/21 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
付款委托书范本
2014/10/05 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
血轮眼轮回眼特效 html+css
2021/03/31 HTML / CSS
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers