基于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实现指定字符串补全空格的方法
Apr 30 Python
python线程、进程和协程详解
Jul 19 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
Python使用修饰器执行函数的参数检查功能示例
Sep 26 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
Flask之flask-script模块使用
Jul 26 Python
Python产生Gnuplot绘图数据的方法
Nov 09 Python
Django stark组件使用及原理详解
Aug 22 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 Python
Python unittest discover批量执行代码实例
Sep 08 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
用Python监控你的朋友都在浏览哪些网站?
May 27 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
使用js修改客户端注册表的方法
2013/08/09 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
详解自动生成博客目录案例
2016/12/09 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
Python中datetime模块参考手册
2017/01/13 Python
python使用super()出现错误解决办法
2017/08/14 Python
Python 一句话生成字母表的方法
2019/01/02 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
中国首家奢侈品O2O网购平台:第五大道奢侈品网
2017/12/14 全球购物
公积金转移接收函
2014/01/11 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
公司催款律师函
2015/05/27 职场文书
教师节班会开场白
2015/06/01 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis