我正在使用Opencv C++,用於人臉識別應用程序。爲此,我使用SURF
作爲描述符,使用FlannMatcher
來匹配點。我的代碼如下,SURF的min_dist和max_dist是什麼意思,FlannMatcher是什麼意思
FlannBasedMatcher matcher;
std::vector<DMatch> matches;
matcher.match(descriptors_1, descriptors_2, matches);
double max_dist = 0; double min_dist = 100;
for(int i = 0; i < descriptors_1.rows; i++)
{
double dist = matches[i].distance;
if(dist < min_dist) min_dist = dist;
if(dist > max_dist) max_dist = dist;
}
在這裏,我們檢查是否有匹配兩個faces.But之間,我不明白這是什麼min_dist
和max_dist
手段尋找min_dist
和max_dist
。
這究竟意味着什麼? 爲什麼我們需要爲單個描述符找到min_dist
和max_dist
?
這是一個不好的例子。如果沒有這個「max_dist」和「min_dist」,有一個更好的方法來區分好匹配和壞匹配。 http://stackoverflow.com/a/19815769/1983544 –