基于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语言技巧之三元运算符使用介绍
Mar 04 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
python批量替换多文件字符串问题详解
Apr 22 Python
python3连接MySQL数据库实例详解
May 24 Python
解决python Markdown模块乱码的问题
Feb 14 Python
Python常见的pandas用法demo示例
Mar 16 Python
Django框架使用mysql视图操作示例
May 15 Python
PyQt5笔记之弹出窗口大全
Jun 20 Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
Jan 10 Python
Python unittest单元测试框架及断言方法
Apr 15 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中常用的转义函数
2014/02/28 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
php实现购物车功能(上)
2020/07/23 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
jquery tools之tooltip
2009/07/25 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
AngularJs+Bootstrap实现漂亮的计算器
2017/08/10 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
python flask框架实现传数据到js的方法分析
2019/06/11 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
行政主管岗位职责
2013/11/18 职场文书
优秀员工自荐书
2013/12/19 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
师范生见习报告范文
2014/11/03 职场文书
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python