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 相关文章推荐
Windows下用py2exe将Python程序打包成exe程序的教程
Apr 08 Python
python3中int(整型)的使用教程
Mar 23 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
python远程调用rpc模块xmlrpclib的方法
Jan 11 Python
对Python 简单串口收发GUI界面的实例详解
Jun 12 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
Jun 19 Python
Python warning警告出现的原因及忽略方法
Jan 31 Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 Python
python实现吃苹果小游戏
Mar 21 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
Python SMTP发送电子邮件的示例
Sep 23 Python
python周期任务调度工具Schedule使用详解
Nov 23 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重新实现PHP脚本引擎内置函数
2007/03/06 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
用python与文件进行交互的方法
2018/03/01 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
pytorch + visdom 处理简单分类问题的示例
2018/06/04 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
pytorch forward两个参数实例
2020/01/17 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
Python 日期与时间转换的方法
2020/08/01 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
澳大利亚药房在线:ThePharmacy
2017/10/04 全球购物
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
小学教师节活动方案
2014/01/31 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
我的生日感言
2015/08/03 职场文书
清明节随笔
2015/08/15 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript