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笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
整理Python 常用string函数(收藏)
May 30 Python
Python 模板引擎的注入问题分析
Jan 01 Python
tensorflow实现加载mnist数据集
Sep 08 Python
python中tkinter的应用:修改字体的实例讲解
Jul 17 Python
python每天定时运行某程序代码
Aug 16 Python
关于Python内存分配时的小秘密分享
Sep 05 Python
Python2和Python3中@abstractmethod使用方法
Feb 04 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
python游戏开发的五个案例分享
Mar 09 Python
python 字符串的驻留机制及优缺点
Jun 19 Python
如何使用python写截屏小工具
Sep 29 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
中国收音机工业发展史
2021/03/02 无线电
PHP 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php静态文件返回304技巧分享
2015/01/06 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
javascript 常用功能总结
2012/03/18 Javascript
js+JQuery返回顶部功能如何实现
2012/12/03 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
js中的面向对象入门
2017/03/06 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
2018/04/18 jQuery
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
2018/10/28 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
解决python报错MemoryError的问题
2018/06/26 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
文秘专业自荐信
2013/10/14 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
自查自纠整改报告
2014/11/06 职场文书
模范教师事迹材料
2014/12/16 职场文书
告知书格式
2015/07/01 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书