2014-01-28 5 views
0

Привет,Хаара расчет функция с OpenCV

Я пытаюсь оценить некоторые Хаара функции (а затем LPB и функцию HOG) с помощью OpenCV для того, чтобы использовать их в AdaBoost позже. Для этого я использую FeatureEvaluator от OpenCV. Но у меня есть исключение, когда я пытаюсь вычислить одну функцию. Вот как я делаю:

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 

И я получаю это сообщение:

Необработанное исключение в 0x6CA471D8 (opencv_objdetect248d.dll) в MLtraining.exe: 0xC0000005: Нарушение прав доступа чтения местоположения 0xCDCDCE0D.

Так что мне интересно, что я делаю неправильно?

Благодаря

ответ

1

FeatureEvaluator не следует использовать, если вы не обучен свой классификатор.

Вы можете использовать обучаемый образец (например, haarcascade_eye.xml в data \ haarcascades) для отслеживания кодов.

Шаги

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

и вы найдете ptrHaar имеет вектор характеристик, которые индексы хранятся в haarcascade_eye.xml.