基于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中用sleep()方法操作时间的教程
May 22 Python
基于python实现的抓取腾讯视频所有电影的爬虫
Apr 22 Python
用python打印1~20的整数实例讲解
Jul 01 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
Apr 14 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
Django多层嵌套ManyToMany字段ORM操作详解
May 19 Python
Python实现打包成库供别的模块调用
Jul 13 Python
利用Python实现Json序列化库的方法步骤
Sep 09 Python
Python 2.6.6升级到Python2.7.15的详细步骤
Dec 14 Python
Python万能模板案例之matplotlib绘制甘特图
Apr 13 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 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
通过dbi使用perl连接mysql数据库的方法
2014/04/16 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
jquery构造器的实现代码小结
2011/05/16 Javascript
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
JS获取各种浏览器窗口大小的方法
2014/01/14 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
浅析Python中的序列化存储的方法
2015/04/28 Python
详解Python中用于计算指数的exp()方法
2015/05/14 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
python的turtle库使用详解
2019/05/10 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
Django 大文件下载实现过程解析
2019/08/01 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
python 实现端口扫描工具
2020/12/18 Python
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
总裁办公室主任职责
2014/01/02 职场文书
数学教学随笔感言
2014/02/17 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
Go中的条件语句Switch示例详解
2021/08/23 Golang