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使用dis模块把Python反编译为字节码的用法详解
Jun 14 Python
Python实现简易端口扫描器代码实例
Mar 15 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
python opencv 批量改变图片的尺寸大小的方法
Jun 28 Python
python Django编写接口并用Jmeter测试的方法
Jul 31 Python
Python 等分切分数据及规则命名的实例代码
Aug 16 Python
pytorch 模型可视化的例子
Aug 17 Python
Python中zip()函数的简单用法举例
Sep 02 Python
python函数不定长参数使用方法解析
Dec 14 Python
如何基于python操作excel并获取内容
Dec 24 Python
使用Django实现把两个模型类的数据聚合在一起
Mar 28 Python
python实现双人五子棋(终端版)
Dec 30 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 从数据库提取二进制图片的处理代码
2009/09/09 PHP
php 伪静态之IIS篇
2014/06/02 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
在vue中使用echarts图表实例代码详解
2018/10/22 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
在Python程序中操作MySQL的基本方法
2015/07/29 Python
深入探究Django中的Session与Cookie
2017/07/30 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
Python 获取numpy.array索引值的实例
2019/12/06 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
详解Pycharm与anaconda安装配置指南
2020/08/25 Python
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
文员个人求职自荐信
2013/09/21 职场文书
小学生暑假家长评语
2014/04/17 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python
Vue全家桶入门基础教程
2021/05/14 Vue.js
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
SQL语句中JOIN的用法场景分析
2021/07/25 SQL Server
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android
小程序实现侧滑删除功能
2022/06/25 Javascript