基于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中的装饰器用法详解
Jan 14 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 Python
JavaScript中的模拟事件和自定义事件实例分析
Jul 27 Python
Python绘制KS曲线的实现方法
Aug 13 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
Oct 17 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 Python
python多线程扫描端口(线程池)
Sep 04 Python
python之MSE、MAE、RMSE的使用
Feb 24 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
Jul 14 Python
Python3基于plotly模块保存图片表格
Aug 03 Python
Python 求向量的余弦值操作
Mar 04 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
php获取用户浏览器版本的方法
2015/01/03 PHP
php中fsockopen用法实例
2015/01/05 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
php实现的农历算法实例
2015/08/11 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
jquery 回车事件实现代码
2011/08/23 Javascript
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
通过sails和阿里大于实现短信验证
2017/01/04 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
pandas把dataframe转成Series,改变列中值的类型方法
2018/04/10 Python
django 实现电子支付功能的示例代码
2018/07/25 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
美国网上鞋城:Shoeline.com
2016/11/17 全球购物
官方授权图形T恤和服装:Fifth Sun
2019/06/12 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
聚美优品的广告词
2014/03/14 职场文书
四群教育工作实施方案
2014/03/26 职场文书
工会主席事迹材料
2014/06/03 职场文书
采购部长岗位职责
2014/06/13 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
刑事申诉状范文
2015/05/20 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python