我正在使用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 –