python3.6.3+opencv3.3.0实现动态人脸捕获


Posted in Python onMay 25, 2018

本文实例为大家分享了python实现动态人脸捕获的具体代码,供大家参考,具体内容如下

步骤

  1. 载入cv2
  2. 捕获摄像头
  3. 获取第一帧图像
  4. 定义人脸识别信息
  5. 开始循环
  6. 对第一帧图像进行识别
  7. 标示脸部特征和方框
  8. 显示帧
  9. 如果一切正常则读入下一帧
  10. 循环直至捕获失败
  11. 如果键入‘q'退出循环
  12. 循环结束清零

程序

import cv2
import numpy as np

cv2.namedWindow("Face_Detect") #定义一个窗口
cap=cv2.VideoCapture(0) #捕获摄像头图像
success,frame=cap.read() #读入第一帧

classifier=cv2.CascadeClassifier("C:/opencv-3.3.0/data/haarcascades/haarcascade_frontalface_alt.xml")
**#定义人脸识别的分类数据集,需要自己查找,在opencv的目录下,参考上面我的路径**

while success:#如果读入帧正常
 size=frame.shape[:2]
 image=np.zeros(size,dtype=np.float16)
 image=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
 cv2.equalizeHist(image,image)
 divisor=8
 h,w=size
 minSize=(int(w/divisor),int(h/divisor)) #像素一定是整数,或者用w//divisor

 faceRects=classifier.detectMultiScale(image,1.2,2,cv2.CASCADE_SCALE_IMAGE,minSize)
 #人脸识别

 if len(faceRects)> 0:
  for faceRect in faceRects:
   x,y,w,h=faceRect
   cv2.circle(frame,(x+w//2,y+h//2),min(w//2,h//2),(255,0,0),2) #圆形轮廓
   cv2.circle(frame,(x+w//4,y+2*h//5),min(w//8,h//8),(0,255,0),2) #左眼轮廓
   cv2.circle(frame,(x+3*w//4,y+2*h//5),min(w//8,h//8),(0,255,0),2)#右眼轮廓
   cv2.circle(frame,(x+w//2,y+2*h//3),min(w//8,h//8),(0,255,0),2) #鼻子轮廓
   cv2.rectangle(frame, (x, y), (x+w, y+h), (0,0,255),2)   #矩形轮廓

 cv2.imshow("Face_Detect",frame)
 #显示轮廓
 success,frame=cap.read()#如正常则读入下一帧

 c=chr(key&255)
 if c in ['q','Q',chr(27)]:#如果键入‘q'退出循环
  print('exit'\n)
  break#退出循环

 #循环结束则清零
cap.release()
cv2.destroyAllWindows()

运行后如下:

python3.6.3+opencv3.3.0实现动态人脸捕获

python3.6.3+opencv3.3.0实现动态人脸捕获

python3.6.3+opencv3.3.0实现动态人脸捕获

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
Python获取当前页面内所有链接的四种方法对比分析
Aug 19 Python
python实现发送邮件功能代码
Dec 14 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
Python的iOS自动化打包实例代码
Nov 22 Python
python使用magic模块进行文件类型识别方法
Dec 08 Python
详解python-图像处理(映射变换)
Mar 22 Python
详解Python:面向对象编程
Apr 10 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
PyCharm导入python项目并配置虚拟环境的教程详解
Oct 13 Python
VSCode中自动为Python文件添加头部注释
Nov 14 Python
python实现自定义日志的具体方法
May 28 Python
Django1.9 加载通过ImageField上传的图片方法
May 25 #Python
python matplotlib 在指定的两个点之间连线方法
May 25 #Python
基于python OpenCV实现动态人脸检测
May 25 #Python
使用matplotlib画散点图的方法
May 25 #Python
python调用OpenCV实现人脸识别功能
May 25 #Python
matplotlib subplots 设置总图的标题方法
May 25 #Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 #Python
You might like
php分页函数
2006/07/08 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
js展开闭合效果演示代码
2013/07/24 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
jquery在ie7下选择器的问题导致append失效的解决方法
2016/01/10 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
常用的js方法合集
2017/03/10 Javascript
基于input动态模糊查询的实现方法
2017/12/12 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
Python MD5文件生成码
2009/01/12 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
Python常见的pandas用法demo示例
2019/03/16 Python
Django 多环境配置详解
2019/05/14 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
Order by的几种用法
2013/06/16 面试题
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
刑事辩护授权委托书
2014/09/13 职场文书
2015年教务工作总结
2015/05/23 职场文书
Python&Matlab实现樱花的绘制
2022/04/07 Python