手のバイナリイメージ(サイズ:100x100)があり、0または1の値のみで構成される行列として表すことができます。これは例です:
double
線形化された画像を表す配列があり、それを呼び出すと仮定するとimage
、次の操作を実行する必要があります。
double accumulator = 0;
for (int j = 0; j < image.Length; ++j)
{
accumulator += image[j] * weights[j];
}
つまり、image
配列の各ピクセルの加重和を計算する必要があります。weights
値を含む配列を表し、double
画像の各ピクセルに重みを付けるために使用されます。
次のコードは前のコードよりも効率的ですか?
double accumulator = 0;
for (int j = 0; j < image.Length; ++j)
{
if (image[j] != 0)
{
accumulator += image[j] * weights[j];
}
}