您好,
我尝试使用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。
所以我想知道我做错了什么?
由于
答案 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中。