面对OpenCV的最佳预测

时间:2016-03-06 12:09:14

标签: opencv

OpenCV的使用相当简单 - 创建一个FaceRecognizer对象,训练它,给它一个图像源,然后根据训练好的特征图像检查你的给定图像。

问题是,predict方法只有两种模式 - 找到匹配项,或找到匹配项并获得该匹配项的置信度。

我想要做的是获得前十名比赛的清单以及他们的信心(通常我的参考图像是低质量/照明,因此我不喜欢期待有很多高信度的比赛,但很多低质量的比赛。)

1 个答案:

答案 0 :(得分:0)

如果您的opencv_contrib版本比1月19日更新,则可以。这是在1月19日合并的(#465)。

使用它:

Mat testImage = ...; // load your test image

Ptr<TopNPredictCollector> collector = TopNPredictCollector.create(10, THRESH);
model->predict(testImage, collector);
Ptr<std::list<std::pair<int,double>>> result = collector.getResult();

在此之前,唯一可用的代理商是MinDistancePredictCollector(),这就是为什么你只能获得最接近的匹配(see here)。