python利用OpenCV2实现人脸检测


Posted in Python onApril 16, 2020

最近,带领我的学生进行一个URTP项目设计,需要进行人脸识别。由于现在的OpenCV已经到了2.X版本,因此就不想用原来的1.X版本的代码,而网上存在的代码都是1.X版本的代码,尝试自己写一段2.X版本的代码,反复查阅资料,今天终于测试成功(很明显2.X版本的代码要比1.X的代码更简单),供大家好参考,代码如下:(2017年5月12日在python3.6.1下做一简单的修改)

import cv2
import numpy as np
cv2.namedWindow("test")#命名一个窗口
cap=cv2.VideoCapture(1)#打开1号摄像头
success, frame = cap.read()#读取一桢图像,前一个返回值是是否成功,后一个返回值是图像本身
color = (0,0,0)#设置人脸框的颜色
classfier=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")#定义分类器
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=(int(w/divisor), int(h/divisor))#这里加了一个取整函数
 faceRects = classfier.detectMultiScale(image, 1.2, 2, cv2.CASCADE_SCALE_IMAGE,minSize)#人脸检测
 if len(faceRects)>0:#如果人脸数组长度大于0
  for faceRect in faceRects: #对每一个人脸画矩形框
    x, y, w, h = faceRect
    cv2.rectangle(frame, (x, y), (x+w, y+h), color)
 cv2.imshow("test", frame)#显示图像
 key=cv2.waitKey(10)
 c = chr(key & 255)
 if c in ['q', 'Q', chr(27)]:
  break
cv2.destroyWindow("test")

效果图:

python利用OpenCV2实现人脸检测

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

Python 相关文章推荐
python通过ElementTree操作XML获取结点读取属性美化XML
Dec 02 Python
python网络编程学习笔记(六):Web客户端访问
Jun 09 Python
Python返回真假值(True or False)小技巧
Apr 10 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
Dec 14 Python
python 处理dataframe中的时间字段方法
Apr 10 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
python 列表转为字典的两个小方法(小结)
Jun 28 Python
python+openCV调用摄像头拍摄和处理图片的实现
Aug 06 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
Python判断文件和字符串编码类型的实例
Dec 21 #Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
Dec 21 #Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 #Python
基于Python的文件类型和字符串详解
Dec 21 #Python
Python绘制七段数码管实例代码
Dec 20 #Python
python代码实现ID3决策树算法
Dec 20 #Python
python决策树之CART分类回归树详解
Dec 20 #Python
You might like
一个简单计数器的源代码
2006/10/09 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
js 替换
2008/02/19 Javascript
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
再谈javascript原型继承
2014/11/10 Javascript
浅谈javascript 归并方法
2015/01/21 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
javascript实现随机生成DIV背景色
2016/06/20 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
利用python实现数据分析
2017/01/11 Python
Python+Turtle动态绘制一棵树实例分享
2018/01/16 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
Python如何在bool函数中取值
2020/09/21 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
毕业生如何写自我鉴定
2014/03/15 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers