我在VS2010中使用OpenCV C++進行人臉識別應用程序。爲此,我使用了SURF,BruteForceMatcher。如何使用C++使用SURF OpenCV找到最佳匹配?
BFMatcher matcher;
vector<DMatch> matches;
//match: execute the matcher!
matcher.match(descriptors1,descriptors2, matches);
我想知道當我調用此方法時究竟發生了什麼。 我的手勢是「匹配」向量將填充匹配的關鍵點。
而且
反正我可以用這個「匹配」矢量找到好的比賽嗎?
目前,我做這樣的事情,讓最小距離和最大距離:
for(int i = 0; i < descriptors1.rows; i++)
{
double dist = matches[i].distance;
if(dist < min_dist) min_dist = dist;
if(dist > max_dist) max_dist = dist;
}
如果我的上述做法是正確的,我怎麼能用最小距離和最大距離檢查圖像是否匹配。
謝謝。
如果有人能爲我找到這個,我將不勝感激。 謝謝。
非常感謝J-X320,mada的快速反應。我嘗試了knnMatch()方法。它給了我很好的結果。謝謝。 – posha 2013-05-10 17:30:05