基于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 相关文章推荐
Python argv用法详解
Jan 08 Python
Python 制作糗事百科爬虫实例
Sep 22 Python
python中使用正则表达式的连接符示例代码
Oct 10 Python
Python生成8位随机字符串的方法分析
Dec 05 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
python写入文件自动换行问题的方法
Jul 05 Python
Python实现Restful API的例子
Aug 31 Python
python 循环数据赋值实例
Dec 02 Python
python导入库的具体方法
Jun 18 Python
Python实战之实现简易的学生选课系统
May 25 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
Jun 03 Python
python小型的音频操作库mp3Play
Apr 24 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
用PHPdig打造属于你自己的Google[图文教程]
2007/02/14 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
PHP的几个常用数字判断函数代码
2012/04/24 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
php字符集转换
2017/01/23 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
jQuery Ajax 全解析
2009/02/08 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
jQuery获得字体颜色16位码的方法
2016/02/20 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
python类继承用法实例分析
2014/10/10 Python
python中threading超线程用法实例分析
2015/05/16 Python
Python的re模块正则表达式操作
2016/05/25 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
Django logging配置及使用详解
2019/07/23 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
澳大利亚宠物食品和药物在线:Jumbo Pets
2018/03/24 全球购物
优秀应届毕业生自荐信
2013/11/16 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
公司2015年终工作总结
2015/05/26 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
初中化学教学反思
2016/02/22 职场文书
Ajax请求超时与网络异常处理图文详解
2021/05/23 Javascript
基于Redis的List实现特价商品列表功能
2021/08/30 Redis