基于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 文件与目录操作
Dec 24 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
浅析python的优势和不足之处
Nov 20 Python
Django ManyToManyField 跨越中间表查询的方法
Dec 18 Python
centos7之Python3.74安装教程
Aug 15 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
Nov 06 Python
pytorch 实现在一个优化器中设置多个网络参数的例子
Feb 20 Python
利用django model save方法对未更改的字段依然进行了保存
Mar 28 Python
Python中对象的比较操作==和is区别详析
Feb 12 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 Python
Python实现照片卡通化
Dec 06 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 split汉字
2009/06/05 PHP
php checkbox 取值详细说明
2010/08/19 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
学习YUI.Ext第五日--做拖放Darg&Drop
2007/03/10 Javascript
获取URL地址中的文件名和参数的javascript代码
2009/09/02 Javascript
JS 对象介绍
2010/01/20 Javascript
JavaScript 设计模式 富有表现力的Javascript(一)
2010/05/26 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
详解node中创建服务进程
2017/05/09 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
MUI 实现侧滑菜单及其主体部分上下滑动的方法
2018/01/25 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
微信小程序分享功能onShareAppMessage(options)用法分析
2019/04/24 Javascript
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
自学python用什么系统好
2020/06/23 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
淘宝客服专员岗位职责
2014/04/11 职场文书
金融事务专业求职信
2014/04/25 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
2014七年级班主任工作总结
2014/12/05 职场文书
2016年校长新年寄语
2015/08/17 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏