基于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代码检查工具pylint 让你的python更规范
Sep 05 Python
Python爬取三国演义的实现方法
Sep 12 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
python+splinter实现12306网站刷票并自动购票流程
Sep 25 Python
解决Python2.7中IDLE启动没有反应的问题
Nov 30 Python
PowerBI和Python关于数据分析的对比
Jul 11 Python
python数据化运营的重要意义
Nov 25 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
关于Python Tkinter Button控件command传参问题的解决方式
Mar 04 Python
django 解决自定义序列化返回处理数据为null的问题
May 20 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
解决Jupyter-notebook不弹出默认浏览器的问题
Mar 30 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
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
PHP实现的简单网络硬盘
2015/07/29 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
Js 中debug方式
2010/02/07 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
angularJS Provider、factory、service详解及实例代码
2016/09/21 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
Vue.js进行查询操作的实例详解
2017/08/25 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
Node 模块原理与用法详解
2020/05/13 Javascript
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
python基础教程之lambda表达式使用方法
2014/02/12 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
python自带的http模块详解
2016/11/06 Python
python连接数据库的方法
2017/10/19 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
8款使用 CSS3 实现超炫的 Loading(加载)的动画效果
2015/03/17 HTML / CSS
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
个人自荐信
2013/12/05 职场文书
地方白酒代理协议书
2014/10/25 职场文书
运动会100米加油稿
2015/07/21 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
2016幼儿园教师年度考核评语
2015/12/01 职场文书