用OpenCV计算Haar特征

时间:2014-01-28 12:32:05

标签: opencv feature-extraction

您好,

我尝试使用opencv评估一些Haar功能(然后是LPB和HOG功能),以便稍后在Adaboost中使用它们。为此,我使用的是OpenCV的FeatureEvaluator。 但是当我尝试计算一个特征时,我得到了一个例外。我正在做的是:

Ptr<FeatureEvaluator> ptrHaar = FeatureEvaluator::create(FeatureEvaluator::HAAR);

Mat img = imread(image_path); // image of size 2048*1536 correctly loaded
ptrHaar->setImage(img, Size(100, 100));
ptrHaar->setWindow(Point(0, 0));
double res = ptrHaar->calcOrd(0); // get the exception here

我收到此消息:

MLtraining.exe中0x6CA471D8(opencv_objdetect248d.dll)的未处理异常:0xC0000005:访问冲突读取位置0xCDCDCE0D。

所以我想知道我做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

如果您没有训练过分类器,则不应使用FeatureEvaluator。

您可以使用经过训练的样本(如数据\ haarcascades中的haarcascade_eye.xml)来跟踪代码。

步骤

CascadeClassifier ptrHaar;
ptrHaar.load("haarcascade_eye.xml");
ptrHaar.setImage(img, Size(100, 100));
ptrHaar.setWindow(Point(0, 0));

你会发现ptrHaar有一个特征向量,索引存储在haarcascade_eye.xml中。