基于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 相关文章推荐
django rest framework之请求与响应(详解)
Nov 06 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
May 16 Python
python utc datetime转换为时间戳的方法
Jan 15 Python
Python 自动登录淘宝并保存登录信息的方法
Sep 04 Python
python打开使用的方法
Sep 30 Python
Python 实现Serial 与STM32J进行串口通讯
Dec 18 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
Feb 15 Python
python中使用you-get库批量在线下载bilibili视频的教程
Mar 10 Python
Python reduce函数作用及实例解析
May 08 Python
Python基于gevent实现文件字符串查找器
Aug 11 Python
Python命令行参数argv和argparse该如何使用
Feb 08 Python
PyTorch中的torch.cat简单介绍
Mar 17 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生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
详解json在php中的应用
2018/09/30 PHP
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
2015/03/18 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
2017/09/28 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
vue权限路由实现的方法示例总结
2018/07/29 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
python提示No module named images的解决方法
2014/09/29 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
2019/01/26 Python
python调用自定义函数的实例操作
2019/06/26 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
Python下载的11种姿势(小结)
2020/11/18 Python
python绘制高斯曲线
2021/02/19 Python
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
工商企业管理实习自我鉴定
2013/12/04 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
创业计划书之美甲店
2019/09/20 职场文书
正则表达式拆分url实例代码
2022/02/24 Java/Android