-1

我正在使用opencv通过网络摄像头进行面部检测项目
在这种检测图像中对象的方法(viola-jones)结合了四个关键概念:

1-称为 haar 特征的简单矩形特征(我可以在 haarcascade_frontalface_alt.xml 文件中找到这个特征)。

2- 用于强奸特征检测的整体图像。

3- AdaBoost 机器学习方法。

4-一个级联分类器有效地组合许多特征。

我的问题是:

-haarcascade_frontalface_alt.xml 是否包含具有 haar 功能的级联分类器?

-我如何在我的项目中添加积分图像和 AdaBoost 以及如何使用它?或者它已经自动完成了吗?

4

1 回答 1

3

看来,您已经阅读了很多论文并思考了很多想法,但还没有找到opencv的实现;)

使用它实际上很容易:

// setup a  cascade classifier:
CascadeClassifier cascade;

// load a pretrained cascadefile(and PLEASE CHECK!):
bool ok = cascade.load("haarcascade_frontalface_alt.xml");
if ( ! ok ) 
{
    ...
}


// later, search for stuff in your img:
Mat gray; // uchar grayscale!
vector<Rect> faces; // the result vec

cascade.detectMultiScale( gray, faces, 1.1, 3, 
    CV_HAAR_FIND_BIGGEST_OBJECT | CV_HAAR_DO_ROUGH_SEARCH  ,
    cv::Size(20, 20) );

for ( size_t i=0; i<faces.size(); i++ )
{
// gray( faces[i] ); is the img portion that contains the detected object
}
于 2013-05-27T18:47:40.043 回答