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和C++求解方法
Aug 20 Python
Python标准库之collections包的使用教程
Apr 27 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
对TensorFlow的assign赋值用法详解
Jul 30 Python
Python 通过调用接口获取公交信息的实例
Dec 17 Python
用python 实现在不确定行数情况下多行输入方法
Jan 28 Python
详解PANDAS 数据合并与重塑(join/merge篇)
Jul 09 Python
Python 依赖库太多了该如何管理
Nov 08 Python
TensorFlow2.0:张量的合并与分割实例
Jan 19 Python
Python实现动态给类和对象添加属性和方法操作示例
Feb 29 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
Jun 03 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数据类型转换
2014/01/09 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
vue-router实现编程式导航的代码实例
2019/01/19 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
python监控网站运行异常并发送邮件的方法
2015/03/13 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
详解Python函数可变参数定义及其参数传递方式
2017/08/02 Python
基于python历史天气采集的分析
2019/02/14 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
django的csrf实现过程详解
2019/07/26 Python
利用python-docx模块写批量生日邀请函
2019/08/26 Python
Python 根据数据模板创建shapefile的实现
2019/11/26 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
杭州联环马网络笔试题面试题
2013/08/04 面试题
公司年会策划方案
2014/05/17 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript
Python+DeOldify实现老照片上色功能
2022/06/21 Python