python3.6.3+opencv3.3.0实现动态人脸捕获


Posted in Python onMay 25, 2018

本文实例为大家分享了python实现动态人脸捕获的具体代码,供大家参考,具体内容如下

步骤

  1. 载入cv2
  2. 捕获摄像头
  3. 获取第一帧图像
  4. 定义人脸识别信息
  5. 开始循环
  6. 对第一帧图像进行识别
  7. 标示脸部特征和方框
  8. 显示帧
  9. 如果一切正常则读入下一帧
  10. 循环直至捕获失败
  11. 如果键入‘q'退出循环
  12. 循环结束清零

程序

import cv2
import numpy as np

cv2.namedWindow("Face_Detect") #定义一个窗口
cap=cv2.VideoCapture(0) #捕获摄像头图像
success,frame=cap.read() #读入第一帧

classifier=cv2.CascadeClassifier("C:/opencv-3.3.0/data/haarcascades/haarcascade_frontalface_alt.xml")
**#定义人脸识别的分类数据集,需要自己查找,在opencv的目录下,参考上面我的路径**

while success:#如果读入帧正常
 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=(int(w/divisor),int(h/divisor)) #像素一定是整数,或者用w//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.circle(frame,(x+w//2,y+h//2),min(w//2,h//2),(255,0,0),2) #圆形轮廓
   cv2.circle(frame,(x+w//4,y+2*h//5),min(w//8,h//8),(0,255,0),2) #左眼轮廓
   cv2.circle(frame,(x+3*w//4,y+2*h//5),min(w//8,h//8),(0,255,0),2)#右眼轮廓
   cv2.circle(frame,(x+w//2,y+2*h//3),min(w//8,h//8),(0,255,0),2) #鼻子轮廓
   cv2.rectangle(frame, (x, y), (x+w, y+h), (0,0,255),2)   #矩形轮廓

 cv2.imshow("Face_Detect",frame)
 #显示轮廓
 success,frame=cap.read()#如正常则读入下一帧

 c=chr(key&255)
 if c in ['q','Q',chr(27)]:#如果键入‘q'退出循环
  print('exit'\n)
  break#退出循环

 #循环结束则清零
cap.release()
cv2.destroyAllWindows()

运行后如下:

python3.6.3+opencv3.3.0实现动态人脸捕获

python3.6.3+opencv3.3.0实现动态人脸捕获

python3.6.3+opencv3.3.0实现动态人脸捕获

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python求crc32值的方法
Oct 05 Python
Python多进程并发(multiprocessing)用法实例详解
Jun 02 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
python实现C4.5决策树算法
Aug 29 Python
python字典值排序并取出前n个key值的方法
Oct 17 Python
使用Python画出小人发射爱心的代码
Nov 23 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 Python
python带参数打包exe及调用方式
Dec 21 Python
python读取Kafka实例
Dec 23 Python
Python实现LR1文法的完整实例代码
Oct 25 Python
Python实现中英文全文搜索的示例
Dec 04 Python
利用Python网络爬虫爬取各大音乐评论的代码
Apr 13 Python
Django1.9 加载通过ImageField上传的图片方法
May 25 #Python
python matplotlib 在指定的两个点之间连线方法
May 25 #Python
基于python OpenCV实现动态人脸检测
May 25 #Python
使用matplotlib画散点图的方法
May 25 #Python
python调用OpenCV实现人脸识别功能
May 25 #Python
matplotlib subplots 设置总图的标题方法
May 25 #Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 #Python
You might like
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
javascript中clone对象详解
2014/12/03 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
js实现省份下拉菜单效果
2017/02/15 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
2017/06/01 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
2017/08/14 jQuery
代码详解JS操作剪贴板
2018/02/11 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
python3实现随机数
2018/06/25 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
电子商务网站的创业计划书
2014/01/05 职场文书
预备党员思想汇报
2014/01/08 职场文书
数学与统计学院学生个人职业生涯规划书
2014/02/10 职场文书
股权转让意向书
2014/04/01 职场文书
计算机专业应届生求职信
2014/04/06 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
委托书格式范文
2015/01/28 职场文书
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python