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的dict字典结构操作方法学习笔记
May 07 Python
python目录与文件名操作例子
Aug 28 Python
Python使用sftp实现上传和下载功能(实例代码)
Mar 14 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
python调用OpenCV实现人脸识别功能
May 25 Python
Python批处理删除和重命名文件夹的实例
Jul 11 Python
在pycharm 中添加运行参数的操作方法
Jan 19 Python
Python对接支付宝支付自实现功能
Oct 10 Python
Python实现随机取一个矩阵数组的某几行
Nov 26 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
Python configparser模块操作代码实例
Jun 08 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 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
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
js显示时间 js显示最后修改时间
2013/01/02 Javascript
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
手机端转换rem适应
2017/04/01 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
详解JavaScript 新语法之Class 的私有属性与私有方法
2019/04/23 Javascript
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
PyQt5实现简易计算器
2020/05/30 Python
Pytorch中的variable, tensor与numpy相互转化的方法
2019/10/10 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
python numpy数组中的复制知识解析
2020/02/03 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
社团活动总结格式
2014/08/29 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
具结保证书
2015/01/17 职场文书
2015年材料员工作总结
2015/04/30 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书
2019下半年英语教师的教学工作计划(3篇)
2019/09/25 职场文书
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang