2016-03-06 65 views
0

使用OpenCV非常簡單 - 創建一個FaceRecognizer對象,訓練它,給它一個圖像源,然後根據訓練的特徵圖像檢查你的給定圖像與這些圖像。OpenCV對臉部的熱門預測

問題是,predict方法只有兩種模式 - 找到匹配,或找到匹配並獲得匹配的信心。

我想要做的是取得前十名比賽名單以及他們的信心(通常我的參考圖像的質量和燈光質量較低,因此我並不期望那裏有會有很多高信度的比賽,但相當多的低質量比賽)。

回答

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(); 

在此之前,唯一可用的colletor是MinDistancePredictCollector(),這就是爲什麼你只能得到最接近的匹配(see here)。