1

それらの違いを確認するために、同じ長さの2つの配列である種の距離関数を計算する簡単な方法はありますか? 配列は両方とも float であり、各ビンは空であるか値を含む場合があります。2 つの異なる画像の 2 つのカラー ヒストグラムを比較する必要があるため、これを行っています。ありがとうございました

編集:距離関数とは、2つの配列のレーベンシュタイン距離のようなものを意味するので、間の「違い」を確認できます。計算された距離に従って、オブジェクトが画像に含まれているかどうかを確認したいと思っていました。

4

2 に答える 2

1

個々の値の差の合計だけが必要な場合は、次を使用できます。

var distance = array1.Zip(array2, (a,b) => Math.Abs(a-b)).Sum();
于 2013-03-27T16:19:44.847 に答える
1

単純な 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;
}

Reed Copseyの答えは機能しますが、どういうわけか私の実装よりも遅く動作しました

于 2013-03-27T21:57:38.257 に答える