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函数式编程指南(一):函数式编程概述
Jun 24 Python
举例讲解Python的lambda语句声明匿名函数的用法
Jul 01 Python
1分钟快速生成用于网页内容提取的xslt
Feb 23 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
python批量从es取数据的方法(文档数超过10000)
Dec 27 Python
Python实现高斯函数的三维显示方法
Dec 29 Python
Python+PyQt5实现美剧爬虫可视工具的方法
Apr 25 Python
Python PIL图片添加字体的例子
Aug 22 Python
给我一面国旗 python帮你实现
Sep 30 Python
图解python全局变量与局部变量相关知识
Nov 02 Python
Python fileinput模块如何逐行读取多个文件
Oct 05 Python
浅谈Python __init__.py的作用
Oct 28 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/11/16 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
python 自动重连wifi windows的方法
2018/12/18 Python
Python可迭代对象操作示例
2019/05/07 Python
Python面向对象进阶学习
2019/05/21 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
简单介绍python封装的基本知识
2019/08/10 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
建筑实习自我鉴定
2013/10/18 职场文书
2014年五一促销活动方案
2014/03/09 职场文书
在宿舍喝酒的检讨书
2014/09/28 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python