博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV+python:人脸检测
阅读量:3948 次
发布时间:2019-05-24

本文共 1504 字,大约阅读时间需要 5 分钟。

1,人脸检测简介

人脸检测的模型主要有两类,一类是知识模型,根据眼睛、嘴、鼻子的相对位置或面部不同部位的颜色深度差异来检测人脸,另一类是统计模型,把海量的人脸数据转换成二维像素矩阵,从统计的观点出发构建人脸模式空间判断人脸是否存在。

2,特征数据

最常用到的三种特征分别为Haar特征、LBP特征及HOG特征,三种特征描述了三种不同的局部信息:
(1) Haar描述的是图像在局部范围内像素值明暗变换信息;
(2)LBP描述的是图像在局部范围内对应的纹理信息;
(3)HOG描述的则是图像在局部范围内对应的形状边缘梯度信息。
其中,OpenCV使用的Haar特征分类器属于第二种模型,训练人脸检测的特征分类器是个非常耗时费力的工作,需要收集大量的正负样本,不过值得庆幸的是OpenCV已经为我们完成了这项工作。关于Haar的具体原理和算法请大家自行百度,简单点说Haar特征分类器是xml文件,记录了面部正面、侧面、左右眼、鼻子、笑脸、上半身等多个Haar特征数据,通过对输入图片进行级联筛选查找人脸
3.人脸检测的实现
在搜索“github opencv”,在“opencv/data/haarcascades”目录下可以看到各种各样的特征分类器(xml文件),从文件名上可以轻易区分出分类器的用途,如“haarcascadesfrontalface_default.xml”是脸部正面特征分类器。
源代码示例:

import cv2 as cvimport numpy as npdef face_detect_demo(image):    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)#转化为灰度图    face_detector = cv.CascadeClassifier("F:/images/haarcascade_frontalface_alt_tree.xml")    #利用级联检测器加载特征数据    faces = face_detector.detectMultiScale(gray, 1.02, 5)    for x, y, w, h in faces:        cv.rectangle(image, (x, y), (x+w, y+h), (0, 0, 255), 2)    cv.imshow("result", image)    #cv.cv.waitKey(10)        src = cv.imread("F:/images/lena.png")cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)"""cv.namedWindow("result", cv.WINDOW_AUTOSIZE)capture = cv.VideoCapture(0)cv.namedWindow("result", cv.WINDOW_AUTOSIZE)while(True):    ret, frame = capture.read()    frame = cv.flip(frame, 1)    face_detect_demo(frame)    c = cv.waitKey(10)    if c == 27: # ESC        break#在视频中定位人脸"""cv.imshow("input image", src)face_detect_demo(src)cv.waitKey(0)cv.destroyAllWindows()

运行结果:

在这里插入图片描述在这里插入图片描述

转载地址:http://nahwi.baihongyu.com/

你可能感兴趣的文章
FTP下载类, windows平台下对CFtpConnection上传下载的封装类
查看>>
代码自动生成-宏带来的奇技淫巧
查看>>
VC com开发中实现IObjectSafety
查看>>
c# 正则表达式基础
查看>>
C#3.0语言新特性
查看>>
W32Dasm反汇编工具使用教程
查看>>
EXE破解工具介绍
查看>>
机械码对应值
查看>>
常用语音编码的WAVE文件头格式剖析--各种编码
查看>>
在VC6集成环境中开发设备驱动程序的方法
查看>>
如何进行软件需求分析
查看>>
有关数据挖掘的10个常见问题
查看>>
电信数据挖掘
查看>>
电信数据挖掘之流失管理
查看>>
电信运营商如何进行客户细分
查看>>
c++名库介绍
查看>>
boost1.43在win7下的编译
查看>>
VC++工程如何脱离VSS环境
查看>>
转 hook 自绘原理
查看>>
NSIS 脚本介绍
查看>>