基于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删除文件示例分享
Jan 28 Python
Python获取电脑硬件信息及状态的实现方法
Aug 29 Python
Python使用urllib模块的urlopen超时问题解决方法
Nov 08 Python
Python多进程机制实例详解
Jul 02 Python
matplotlib实现热成像图colorbar和极坐标图的方法
Dec 13 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
Python实现银行账户资金交易管理系统
Jan 03 Python
Django 自定义404 500等错误页面的实现
Mar 08 Python
Python第三方库的几种安装方式(小结)
Apr 03 Python
python 解决mysql where in 对列表(list,,array)问题
Jun 06 Python
python datetime时间格式的相互转换问题
Jun 11 Python
如何Tkinter模块编写Python图形界面
Oct 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
深入了解php4(2)--重访过去
2006/10/09 PHP
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
PHP的几个常用加密函数
2016/02/03 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
用js来解决ajax读取页面乱码
2010/11/28 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
jQuery Validate表单验证入门学习
2015/12/18 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
Node.js用readline模块实现输入输出
2016/12/16 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
js断点调试经验分享
2017/12/08 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
python实现数组插入新元素的方法
2015/05/22 Python
Python实现LRU算法的2种方法
2015/06/24 Python
Python实现查找系统盘中需要找的字符
2015/07/14 Python
详解Python进程间通信之命名管道
2017/08/28 Python
python的slice notation的特殊用法详解
2019/12/27 Python
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
俄罗斯美容和健康网上商店:Созвездие Красоты
2019/07/23 全球购物
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
Android笔试题总结
2014/11/29 面试题
供货协议书范本
2014/04/22 职场文书
企业年会祝酒词
2015/08/11 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
《海上日出》教学反思
2016/02/23 职场文书
Go gRPC进阶教程gRPC转换HTTP
2022/06/16 Golang