c#结合emgucv进行人脸检测_Opencv之使用HaarCascade进行人脸检测

c#结合emgucv进行人脸检测_Opencv之使用HaarCascade进行人脸检测_第1张图片

关于HaarCascade的具体原理可以自行Google。

Haar级联分类器: 通过分析对比相邻图像区域来判断给定图像或者图像区域与已知对象是否匹配。

可以将多个Haar级联分类器组合起来,每个分类器负责匹配一个特征区域(比如眼睛),然后进行总体识别。

也可以一个分类器进行整体区域识别(比如人脸),其他分类器可识别小的部分(比如眼睛)等。

Haar特征具有尺度不变性,就是说它在尺度变换上具有鲁棒性。

Opencv提供了尺度不变的Haar级联分类器和跟踪器。但其并不具有旋转不变性。举个例子,opencv提供的Haar级联分类器并不认为侧脸和正脸一样,倒置的人脸和正脸一样。

CascadeClassifier::detectMultiScale

输入一张灰度图,返回所有检测目标的rectangle的数组。

• C++: void CascadeClassifier::detectMultiScale(const Mat& image, vector& objects, double scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size())

• Python: cv2.CascadeClassifier.detec

你可能感兴趣的:(c#结合emgucv进行人脸检测_Opencv之使用HaarCascade进行人脸检测)