【发布时间】:2014-03-05 06:36:26
【问题描述】:
这是我在 OpenCV 示例的 find_obj.cpp 中找到的用于比较 SURF 描述符的函数。我基本上无法理解如何计算描述符之间的欧几里得距离。
是一次计算每个第 i 个描述符还是整个图像?
我知道这是一个基本问题,但我非常感谢您的回复。 谢谢。
double
compareSURFDescriptors( const float* d1, const float* d2, double best, int length )
{
double total_cost = 0;
assert( length % 4 == 0 );
for( int i = 0; i < length; i += 4 )
{
double t0 = d1[i ] - d2[i ];
double t1 = d1[i+1] - d2[i+1];
double t2 = d1[i+2] - d2[i+2];
double t3 = d1[i+3] - d2[i+3];
total_cost += t0*t0 + t1*t1 + t2*t2 + t3*t3;
if( total_cost > best )
break;
}
return total_cost;
}
【问题讨论】: