基于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计算程序运行时间的方法
Dec 13 Python
由Python运算π的值深入Python中科学计算的实现
Apr 17 Python
Python中动态创建类实例的方法
Mar 24 Python
Python 常用的安装Module方式汇总
May 06 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 Python
Python文本处理之按行处理大文件的方法
Apr 09 Python
Django配置celery(非djcelery)执行异步任务和定时任务
Jul 16 Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
Python下划线5种含义代码实例解析
Jul 10 Python
Python子进程subpocess原理及用法解析
Jul 16 Python
如何用Python提取10000份log中的产品信息
Jan 14 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
ninety plus是什么?ninety plus咖啡好吗?
2021/03/04 新手入门
使PHP自定义函数返回多个值
2006/11/26 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
jquery select选中的一个小问题
2009/10/11 Javascript
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
Jquery 表单验证类介绍与实例
2013/06/09 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
python如何定义带参数的装饰器
2018/03/20 Python
Pycharm 操作Django Model的简单运用方法
2018/05/23 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
详解Python的三种可变参数
2019/05/08 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
python实现五子棋小程序
2019/06/18 Python
python小程序实现刷票功能详解
2019/07/17 Python
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
自我评价的正确写法
2013/09/19 职场文书
统计岗位职责
2014/02/21 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
工作会议简报
2015/07/20 职场文书
车间安全生产管理制度
2015/08/06 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
公司转让协议书
2016/03/19 职场文书