是否有任何简单的方法来计算相同长度的2个数组上的某种距离函数以检查它们的差异?数组都是浮动的,每个bin都可以是空的或包含一个值。我这样做,因为我需要比较两个不同图像的两个颜色直方图。 谢谢C#排列距离函数
编辑:通过距离函数我的意思是像两个数组上的Levenshtein距离,所以我可以检查之间的'差异'。我希望根据计算的距离检查物体是否在图像中。
是否有任何简单的方法来计算相同长度的2个数组上的某种距离函数以检查它们的差异?数组都是浮动的,每个bin都可以是空的或包含一个值。我这样做,因为我需要比较两个不同图像的两个颜色直方图。 谢谢C#排列距离函数
编辑:通过距离函数我的意思是像两个数组上的Levenshtein距离,所以我可以检查之间的'差异'。我希望根据计算的距离检查物体是否在图像中。
结束了使用一个简单的for循环,通过迭代每一个元素:
private static float ArrayDistanceFunction(float[] array1, float[] array2)
{
float total = 0;
for (int i = 0; i < array1.Length; i++)
{
total += Math.Abs(array1[i] - array2[i]);
}
return total;
}
里德Copsey的答案确实有效,但不知何故它比我的实施表现得更慢
定义“2个阵列之间的距离”。 – 2013-03-27 16:18:31
希望帮助:) – Pawcu 2013-03-27 21:09:17