基于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的print用法示例
Feb 11 Python
Python实现爬取马云的微博功能示例
Feb 16 Python
Python脚本按照当前日期创建多级目录
Mar 01 Python
OpenCV+face++实现实时人脸识别解锁功能
Aug 28 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
python 实现让字典的value 成为列表
Dec 16 Python
python实现连连看游戏
Feb 14 Python
Python如何进行时间处理
Aug 06 Python
Python 开发工具通过 agent 代理使用的方法
Sep 27 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 Python
Python爬虫制作翻译程序的示例代码
Feb 22 Python
PyCharm 配置SSH和SFTP连接远程服务器
May 11 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 全文搜索和替换的实现代码
2008/07/29 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
模仿jQuery each函数的链式调用
2009/07/22 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
JQuery each打印JS对象的方法
2013/11/13 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
js实现字符串转日期格式的方法
2015/05/20 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
浅谈js原生拖放
2016/11/21 Javascript
jquery插件ContextMenu设置右键菜单
2017/03/13 Javascript
浅谈mint-ui 填坑之路
2017/11/06 Javascript
vue 路由嵌套高亮问题的解决方法
2018/05/17 Javascript
js+html实现周岁年龄计算器
2019/06/25 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
Python算法中的时间复杂度问题
2019/11/19 Python
Python hashlib模块实例使用详解
2019/12/24 Python
Python中if有多个条件处理方法
2020/02/26 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
提高python代码运行效率的一些建议
2020/09/29 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
自我鉴定范文
2013/11/10 职场文书
横店影视城导游词
2015/02/06 职场文书
2015年路政工作总结
2015/05/22 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书
SQL之各种join小结详细讲解
2021/08/04 MySQL
python脚本框架webpy的url映射详解
2021/11/20 Python