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 相关文章推荐
python3利用Dlib19.7实现人脸68个特征点标定
Feb 26 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
Sep 02 Python
python对视频画框标记后保存的方法
Dec 07 Python
对Pycharm创建py文件时自定义头部模板的方法详解
Feb 12 Python
Python中format()格式输出全解
Apr 12 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
python实现图片转字符小工具
Apr 30 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
python实现图片九宫格分割
Mar 07 Python
PyTorch的SoftMax交叉熵损失和梯度用法
Jan 15 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 Python
python 爬取京东指定商品评论并进行情感分析
May 27 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/08/08 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
php技巧小结【推荐】
2017/01/19 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
初识JQuery 实例一(first)
2011/03/16 Javascript
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
Javascript事件实例详解
2013/11/06 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
jQuery 获取多选框的值及多选框中文的函数
2016/05/16 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
如何快速上手Vuex
2017/02/14 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
2021/01/03 Vue.js
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
python在文本开头插入一行的实例
2018/05/02 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
利用python在excel中画图的实现方法
2020/03/17 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
大学生职业生涯规划书
2014/03/14 职场文书
公司爱心捐款倡议书
2014/05/14 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
2015年秋季运动会广播稿
2015/08/19 职场文书
《槐乡的孩子》教学反思
2016/02/20 职场文书
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫