這是比較SURF描述符的函數,我在OpenCV示例的find_obj.cpp中找到。我基本上無法理解這是如何計算描述符之間的歐幾里得距離。OpenCV 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;
}