是否有任何簡單的方法來計算相同長度的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