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中numpy包使用教程之数组和相关操作详解
Jul 30 Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 Python
Django学习笔记之ORM基础教程
Mar 27 Python
python 实时得到cpu和内存的使用情况方法
Jun 11 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
Jun 25 Python
Python中拆分字符串的操作方法
Jul 23 Python
tensorflow实现测试时读取任意指定的check point的网络参数
Jan 21 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
Python3创建Django项目的几种方法(3种)
Jun 03 Python
解决keras使用cov1D函数的输入问题
Jun 29 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
Dec 04 Python
Python用户自定义异常的实现
Dec 25 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
php中常用编辑器推荐
2007/01/02 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
四个PHP非常实用的功能
2015/09/29 PHP
PHP实现查询两个数组中不同元素的方法
2016/02/23 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
javascript实现html页面之间参数传递的四种方法实例分析
2015/12/15 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
海量信息软件测试笔试题
2015/08/08 面试题
合伙协议书范本
2014/04/21 职场文书
环保建议书400字
2014/05/14 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
工程服务质量承诺书
2015/04/29 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书
AngularJS实现多级下拉框
2022/03/25 Javascript