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 相关文章推荐
Python中处理unchecked未捕获异常实例
Jan 17 Python
python通过装饰器检查函数参数数据类型的方法
Mar 13 Python
python根据开头和结尾字符串获取中间字符串的方法
Mar 26 Python
在Python中测试访问同一数据的竞争条件的方法
Apr 23 Python
全面解析Python的While循环语句的使用方法
Oct 13 Python
浅谈python中的__init__、__new__和__call__方法
Jul 18 Python
python使用正则表达式(Regular Expression)方法超详细
Dec 30 Python
如何定义TensorFlow输入节点
Jan 23 Python
python logging.basicConfig不生效的原因及解决
Feb 20 Python
基于python实现监听Rabbitmq系统日志代码示例
Nov 28 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
Mar 02 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 问卷调查结果统计
2015/10/08 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
2016/10/15 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
vue-axios使用详解
2017/05/10 Javascript
微信小程序 密码输入(源码下载)
2017/06/27 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
jQuery 筛选器简单操作示例
2019/10/02 jQuery
微信小程序用canvas画图并分享
2020/03/09 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
Python中的yield浅析
2014/06/16 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
python脚本爬取字体文件的实现方法
2017/04/29 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
python 调整图片亮度的示例
2020/12/03 Python
推荐10个CSS3 制作的创意下拉菜单效果
2014/02/11 HTML / CSS
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
汽车销售求职自荐信
2013/10/01 职场文书
时尚休闲吧创业计划书
2014/01/25 职场文书
学校献爱心活动总结
2014/07/08 职场文书
励志演讲稿大全
2014/08/21 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
工程服务质量承诺书
2015/04/29 职场文书