基于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 命令行也可以自动补全
Nov 30 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
Apr 25 Python
python简单文本处理的方法
Jul 10 Python
python微信跳一跳系列之棋子定位像素遍历
Feb 26 Python
Sanic框架Cookies操作示例
Jul 17 Python
Python之inspect模块实现获取加载模块路径的方法
Oct 16 Python
Django2.1.3 中间件使用详解
Nov 26 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
May 29 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
django项目中新增app的2种实现方法
Apr 01 Python
Python 读写 Matlab Mat 格式数据的操作
May 19 Python
Python中request的基本使用解决乱码问题
Apr 12 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
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
ThinkPHP中redirect用法分析
2014/12/05 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
javascript动态设置样式style实例分析
2015/05/13 Javascript
jQuery插件jRumble实现网页元素抖动
2015/06/05 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
从零学Python之入门(三)序列
2014/05/25 Python
python书籍信息爬虫实例
2018/03/19 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
在Python中增加和插入元素的示例
2018/11/01 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
英国最大的滑板品牌选择:Route One
2019/09/22 全球购物
男方父母证婚词
2014/01/12 职场文书
节约粮食标语
2014/06/18 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
雨花台导游词
2015/02/06 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python
JS数组去重详情
2021/11/07 Javascript
Java 数据结构七大排序使用分析
2022/04/02 Java/Android