基于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和shell变量互相传递的几种方法
Nov 20 Python
python实现的一个火车票转让信息采集器
Jul 09 Python
Python-基础-入门 简介
Aug 09 Python
在Python的列表中利用remove()方法删除元素的教程
May 21 Python
python 如何快速找出两个电子表中数据的差异
May 26 Python
Python查询IP地址归属完整代码
Jun 21 Python
python 读入多行数据的实例
Apr 19 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
Dec 04 Python
对Python3 goto 语句的使用方法详解
Feb 16 Python
使用python写的opencv实时监测和解析二维码和条形码
Aug 14 Python
python爬虫泛滥的解决方法详解
Nov 25 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 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
smarty实例教程
2006/11/19 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
PHP学习笔记(三):数据类型转换与常量介绍
2015/04/17 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
2016/04/18 Javascript
微信小程序 swiper组件详解及实例代码
2016/10/25 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
javascript代码实现简易计算器
2021/01/25 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
汽车维修工岗位职责
2014/02/12 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
保护环境的建议书
2014/03/12 职场文书
签约仪式策划方案
2014/06/02 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
Java基础之this关键字的使用
2021/06/30 Java/Android