我正在通过使用opencv的网络摄像头进行面部检测项目 在这种方法(viola-jones)中,检测图像中的对象结合了四个关键概念:
1 - 简单的矩形特征称为haar特征(我可以在haarcascade_frontalface_alt.xml文件中找到这个)。
2-用于强奸特征检测的整数图像。
3- AdaBoost机器学习方法。
4-A级联分类器,可有效组合多种功能。
我的问题是:
-does haarcascade_frontalface_alt.xml包含级联分类器还有haar功能?
- 我可以在我的项目中添加积分图像和AdaBoost以及如何使用它?或者它是否已经自动完成?
答案 0 :(得分:3)
使用它实际上非常简单:
// 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
}