基于 Haar 特征的人脸检测

2024-01-02 09:32:28

Haar分类器概述

Haar分类器采用的是Viola-Jones人脸检测算法

该算法需要用到大量的积极图片(包含人脸的图片)和消极图片(不包含人脸的图片),从中提取类Haar特征( Haar-like features),经过反复训练,最终得出一个级联检测器,以此来检测人脸。

Haar分类器使用Haar-like小波特征和积分图方法进行人脸检测,并与AdaBoost训练出的强分类器进行级联,增强了人脸检测的准确率。

Haar分类器分类

Haar(哈尔)特征分为三类:边缘特征、线性特征、中心特征和对角线特征。

基于 Haar 特征的人脸检测

OpenCV中进行基于 Haar 的人脸检测使用detectMultiScale()函数
格式:cv2.CascadeClassifier.detectMultiScale(image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]])
参数说明:
image : 表示的是要检测的输入图像
scaleFactor : 表示每次图像尺寸减小的比例
minNeighbors:表示每一个目标至少要被检测到几次才算是真的目标(因为周围的像素和不同的窗口大小都可以检测到人脸)?

flags:可以取如下这些值:
CASCADE_DO_CANNY_PRUNING=1, 利用canny边缘检测来排除一些边缘很少或者很多的图像区域
CASCADE_SCALE_IMAGE=2, 正常比例检测
CASCADE_FIND_BIGGEST_OBJECT=4, 只检测最大的物体
CASCADE_DO_ROUGH_SEARCH=8 初略的检测
minSize:为目标的最小尺寸
maxSize:为目标的最大尺寸?

示例代码

文章来源:https://blog.csdn.net/qq_20660115/article/details/135332265
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。