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基于mysql实现的简单队列以及跨进程锁实例详解
Jul 07 Python
介绍Python的@property装饰器的用法
Apr 28 Python
详解supervisor使用教程
Nov 21 Python
python中requests和https使用简单示例
Jan 18 Python
Python处理命令行参数模块optpars用法实例分析
May 31 Python
python 对key为时间的dict排序方法
Oct 17 Python
Python使用指定字符长度切分数据示例
Dec 05 Python
wxpython多线程防假死与线程间传递消息实例详解
Dec 13 Python
TFRecord格式存储数据与队列读取实例
Jan 21 Python
python 制作网站筛选工具(附源码)
Jan 21 Python
Python包argparse模块常用方法
Jun 04 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
Aug 30 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 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
php session_start()出错原因分析及解决方法
2013/10/28 PHP
PHP常用处理静态操作类
2015/04/03 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
用JavaScript获取网页中的js、css、Flash等文件
2006/12/20 Javascript
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
微信小程序图片自适应支持多图实例详解
2017/06/21 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
vue实现购物车加减
2020/05/30 Javascript
python根据unicode判断语言类型实例代码
2018/01/17 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
HTML5 图片悬停放大的实现代码示例
2019/12/04 HTML / CSS
Viking比利时:购买办公用品
2019/10/30 全球购物
太太口服液广告词
2014/03/20 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
房地产开发项目建议书
2014/05/16 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
美术教师个人总结
2015/02/06 职场文书
新年祝酒词大全
2015/08/11 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript