基于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开发中module模块用法实例分析
Nov 12 Python
基于python时间处理方法(详解)
Aug 14 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
Nov 01 Python
Python爬虫实例爬取网站搞笑段子
Nov 08 Python
Python中类的初始化特殊方法
Dec 01 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
Jan 16 Python
Python中文件的读取和写入操作
Apr 27 Python
matplotlib给子图添加图例的方法
Aug 03 Python
python matplotlib库绘制条形图练习题
Aug 10 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
Python编程根据字典列表相同键的值进行合并
Oct 05 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
header()函数使用说明
2006/11/23 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
浅谈Javascript事件处理程序的几种方式
2012/06/27 Javascript
Javascript中的String对象详谈
2014/03/03 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
利用React Router4实现的服务端直出渲染(SSR)
2019/01/07 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
python遍历一个目录,输出所有的文件名的实例
2018/04/23 Python
Python if语句知识点用法总结
2018/06/10 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
Python使用matplotlib 模块scatter方法画散点图示例
2019/09/27 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
Window系统下Python如何安装OpenCV库
2020/03/05 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
招股说明书范本
2014/05/06 职场文书
2015年工会工作总结
2015/03/30 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
您对思维方式了解多少?
2019/12/09 职场文书