基于python3 OpenCV3实现静态图片人脸识别


Posted in Python onMay 25, 2018

本文采用OpenCV3和Python3 来实现静态图片的人脸识别,采用的是Haar文件级联。

首先需要将OpenCV3源代码中找到data文件夹下面的haarcascades文件夹里面包含了所有的OpenCV的人脸检测的XML文件,这些文件可以用于检测静态,视频文件,摄像头视频流中的人脸,找到haarcascades文件夹后,复制里面的XML文件,在你新建的Python脚本文件目录里面建一个名为cascades的文件夹,并把复制的XML文件粘贴到新建的文件夹中一些有人脸的的图片,这个大家可以自行百度。

创建一个识别人脸的函数detect()

def detect(img):
 #函数声明了一个face_cascade的变量,该变量为CascadeClassifier的对象,用于检测人脸(frontalface)
 face_cascade = cv2.CascadeClassifier('./cascades/haarcascade_frontalface_default.xml')
 #进行灰度化处理
 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
 #进行实际的人脸检测,传递参数是scaleFactor和minNeighbor,分别表示人脸检测过程中每次迭代时图像的压缩率和每个人脸矩形保留近邻数目的最小值
 faces = face_cascade.detectMultiScale(gray,1.3,5)
 for (x,y,w,h) in faces:
 #依次提取faces变量中的值来画矩形
 img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,255),2)
 cv2.imshow('face_track',img)
 #避免图形窗口关闭
 cv2.waitKey(0)

上面就是主要的函数,当然你也可以不用函数,直接写在while循环里面,下面是完整的程序代码

import cv2

filename = cv2.imread('face_2.jpg')

def detect(img):
 face_cascade = cv2.CascadeClassifier('./cascades/haarcascade_frontalface_default.xml')
 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
 faces = face_cascade.detectMultiScale(gray,1.3,5)
 for (x,y,w,h) in faces:
 img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,255),2)
 cv2.imshow('face_track',img)
 cv2.waitKey(0)

if __name__ == "__main__":
 detect(filename)

运行结果

基于python3 OpenCV3实现静态图片人脸识别

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
分析Python的Django框架的运行方式及处理流程
Apr 08 Python
python复制文件的方法实例详解
May 22 Python
Python简单实现自动删除目录下空文件夹的方法
Aug 29 Python
python实现快速排序的示例(二分法思想)
Mar 12 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
详解python如何在django中为用户模型添加自定义权限
Oct 15 Python
Python zip函数打包元素实例解析
Dec 11 Python
python base64库给用户名或密码加密的流程
Jan 02 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
Mar 07 Python
python和php学习哪个更有发展
Jun 17 Python
Keras设置以及获取权重的实现
Jun 19 Python
matplotlib savefig 保存图片大小的实例
May 24 #Python
python3连接MySQL数据库实例详解
May 24 #Python
python实现图片文件批量重命名
Mar 23 #Python
python使用RNN实现文本分类
May 24 #Python
Jupyter notebook远程访问服务器的方法
May 24 #Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
May 24 #Python
解决python matplotlib imshow无法显示的问题
May 24 #Python
You might like
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
php基础学习之变量的使用
2011/06/09 PHP
php实现RSA加密类实例
2015/03/26 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
2013/07/12 Javascript
js 一个关于图片onload加载的事
2013/11/10 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
不用一句js代码初始化组件
2016/01/27 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
详解微信小程序审核不通过的解决方法
2018/01/17 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
django自定义Field实现一个字段存储以逗号分隔的字符串
2014/04/27 Python
详细探究Python中的字典容器
2015/04/14 Python
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
仓管员岗位职责范文
2013/11/08 职场文书
小学新学期教师寄语
2014/01/18 职场文书
总经理助理职责
2014/02/04 职场文书
《两只鸟蛋》教学反思
2014/02/10 职场文书
学习经验演讲稿
2014/05/10 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
和谐社区口号
2014/06/19 职场文书
体育馆的标语
2014/06/24 职场文书
开业典礼致辞
2015/07/29 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python