基于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系列之数据处理编程实例(二)
May 22 Python
python多重继承新算法C3介绍
Sep 28 Python
Python argv用法详解
Jan 08 Python
Python利用splinter实现浏览器自动化操作方法
May 11 Python
Python之inspect模块实现获取加载模块路径的方法
Oct 16 Python
python 3.6.7实现端口扫描器
Sep 04 Python
Django和Flask框架优缺点对比
Oct 24 Python
python 并发下载器实现方法示例
Nov 22 Python
python实现QQ邮箱发送邮件
Mar 06 Python
Django通过json格式收集主机信息
May 29 Python
如何在scrapy中集成selenium爬取网页的方法
Nov 18 Python
Pandas直接读取sql脚本的方法
Jan 21 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
mysql 性能的检查和优化方法
2009/06/21 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
javascript事件问题
2009/09/05 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
js自动查找select下拉的菜单并选择(示例代码)
2014/02/26 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
python实现的简单窗口倒计时界面实例
2015/05/05 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
Django中多种重定向方法使用详解
2019/07/17 Python
python3 kubernetes api的使用示例
2021/01/12 Python
美国折扣网站:jClub
2017/08/07 全球购物
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
Linux文件系统类型
2012/09/16 面试题
技术人员面试提纲
2013/11/28 职场文书
怎样写好自我鉴定
2013/12/04 职场文书
自主实习接收函
2014/01/13 职场文书
2014基层党员干部学习全国两会心得体会
2014/03/17 职场文书
采购求职信
2014/03/17 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
2015年教研工作总结
2015/05/23 职场文书
《分数的意义》教学反思
2016/02/20 职场文书
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers