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检测手机QQ在线状态的脚本代码
Feb 10 Python
Python远程桌面协议RDPY安装使用介绍
Apr 15 Python
深入理解NumPy简明教程---数组3(组合)
Dec 17 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
Python实现的购物车功能示例
Feb 11 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
Python 字符串与二进制串的相互转换示例
Jul 23 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
python异步实现定时任务和周期任务的方法
Jun 29 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 Python
为什么python比较流行
Jun 19 Python
Pycharm Git 设置方法
Sep 15 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
Smarty安装配置方法
2008/04/10 PHP
php+mysql写的简单留言本实例代码
2008/07/25 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
VueJs里利用CryptoJs实现加密及解密的方法示例
2019/04/29 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
Python内置函数delattr的具体用法
2017/11/23 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
软件测试常见笔试题
2012/02/04 面试题
美工的岗位职责
2013/11/14 职场文书
机电工程学生自荐信范文
2013/12/07 职场文书
《老王》教学反思
2014/02/23 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
安全负责人任命书
2014/06/06 职场文书
电子商务专业求职信
2014/07/10 职场文书
男性健康日的活动方案
2014/08/18 职场文书
对照检查剖析材料
2014/09/30 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
工作表扬信
2015/01/17 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
导游词之峨眉山
2019/12/16 职场文书
python实现过滤敏感词
2021/05/08 Python
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android