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 thread 并发且顺序运行示例
Apr 09 Python
Python xlrd读取excel日期类型的2种方法
Apr 28 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
解决uWSGI的编码问题详解
Mar 24 Python
django初始化数据库的实例
May 27 Python
python实现windows下文件备份脚本
May 27 Python
Python异常的检测和处理方法
Oct 26 Python
python进行文件对比的方法
Dec 24 Python
python实现将json多行数据传入到mysql中使用
Dec 31 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
Aug 17 Python
python输出国际象棋棋盘的实例分享
Nov 26 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
一个简单php扩展介绍与开发教程
2010/08/19 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
css配合jquery美化 select
2013/11/29 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
人机交互程序 python实现人机对话
2017/11/14 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
python实现简单图片物体标注工具
2019/03/18 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
python 5个实用的技巧
2020/09/27 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
中英双版中文教师求职信
2013/10/27 职场文书
国家励志奖学金获奖感言
2014/01/09 职场文书
中学生家长评语大全
2014/04/16 职场文书
给老婆的道歉信
2015/01/20 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
导游词之神仙居景区
2019/11/15 职场文书
python中的3种定义类方法
2021/11/27 Python
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang
python游戏开发之pygame实现接球小游戏
2022/04/22 Python