基于python OpenCV实现动态人脸检测


Posted in Python onMay 25, 2018

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

直接上代码: 按Q退出

import cv2 
import numpy as np 
 
cv2.namedWindow("test") 
cap = cv2.VideoCapture(0) #加载摄像头录制 
# cap = cv2.VideoCapture("test.mp4") #打开视频文件 
success, frame = cap.read() 
# classifier = cv2.CascadeClassifier("/Users/yuki/anaconda/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml") 

# 确保此xml文件与该py文件在一个文件夹下,否则将这里改为绝对路径 
 
#haarcascade_frontalface_default.xml 
classifier = cv2.CascadeClassifier("/Users/yuki/anaconda/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml") 

# 确保此xml文件与该py文件在一个文件夹下,否则将这里改为绝对路径 
 
while success: 
 success, frame = cap.read() 
 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 = (w // divisor, h // 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.rectangle(frame,(x,y),(x+h,y+w),(0,255,0),2) 
   #锁定 眼和嘴巴 
#cv2.circle(frame, (x + w // 4, y + h // 4 + 30), min(w // 8, h // 8), (255, 0, 0)) # 左眼 
#cv2.circle(frame, (x + 3 * w //4, y + h // 4 + 30), min(w // 8, h // 8), (255, 0, 0)) #右眼 
#cv2.rectangle(frame, (x + 3 * w // 8, y + 3 * h // 4), (x + 5 * w // 8, y + 7 * h // 8), (255, 0, 0))#嘴巴 
 cv2.imshow("test", frame) 
 key = cv2.waitKey(10) 
 c = chr(key & 255) 
 if c in ['q', 'Q', chr(27)]: 
  break 
cv2.destroyWindow("test")

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

Python 相关文章推荐
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
python使用Tesseract库识别验证
Mar 21 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 Python
django2.0扩展用户字段示例
Feb 13 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
May 11 Python
python基于pygame实现飞机大作战小游戏
Nov 19 Python
python判断all函数输出结果是否为true的方法
Dec 03 Python
Python运算符+与+=的方法实例
Feb 18 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 Python
使用matplotlib画散点图的方法
May 25 #Python
python调用OpenCV实现人脸识别功能
May 25 #Python
matplotlib subplots 设置总图的标题方法
May 25 #Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 #Python
Python unittest模块用法实例分析
May 25 #Python
使用Python的Django和layim实现即时通讯的方法
May 25 #Python
matplotlib subplots 调整子图间矩的实例
May 25 #Python
You might like
PHP4(windows版本)中的COM函数
2006/10/09 PHP
php中的时间显示
2007/01/18 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
PHP基于Closure类创建匿名函数的方法详解
2017/08/17 PHP
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
IE事件对象(The Internet Explorer Event Object)
2012/06/27 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
2013/02/18 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
JavaScript函数使用的基本教程
2015/06/04 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
WebGL学习教程之Three.js学习笔记(第一篇)
2019/04/25 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
利用Python实现图书超期提醒
2016/08/02 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
python 堆和优先队列的使用详解
2019/03/05 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
浅析Python3 pip换源问题
2020/01/06 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
德国购买健身器材:AsVIVA
2017/08/09 全球购物
品质保证书格式
2015/02/28 职场文书
试用期自我评价范文
2015/03/10 职场文书
2016年敬老月活动总结
2016/04/05 职场文书
表扬信范文
2019/04/22 职场文书
人力资源部工作计划
2019/05/14 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle