画像を「たたみ込む」フィルターを使用する1D Convolutionを探しています。たとえば、メディアン フィルターを使用できます (ウィキペディアから例を借用)。
x = [2 80 6 3]
y[1] = Median[2 2 80] = 2
y[2] = Median[2 80 6] = Median[2 6 80] = 6
y[3] = Median[80 6 3] = Median[3 6 80] = 6
y[4] = Median[6 3 3] = Median[3 3 6] = 3
so
y = [2 6 6 3]
ここでは、一度に 3 ピクセルを見て、このウィンドウの周囲のピクセルを中央値に置き換えるため、ウィンドウ サイズは 3 です。3 のウィンドウは、現在評価しているピクセルの前の最初のピクセルと後の最初のピクセルを見ることを意味し、5 は前後の 2 ピクセルを意味します。
平均フィルターの場合、ウィンドウの周囲のピクセルをすべての値の平均に置き換えることを除いて、同じことを行います。
x = [2 80 6 3]
y[1] = Mean[2 2 80] = 28
y[2] = Mean[2 80 6] = 29.33
y[3] = Mean[80 6 3] = 29.667
y[4] = Mean[6 3 3] = 4
so
y = [28 29.33 29.667 4]
したがって、あなたの問題についてy[3]
は、「平均最も明るい点」です。
y[1]
(その前にピクセルがない) および(その後ろにピクセルがない)境界線がどのように処理されるかに注意してくださいy[4]
。この例では、境界線の近くのピクセルを「複製」しています。したがって、通常、複製された境界線または一定の境界線で画像を「パディング」し、画像を畳み込み、それらの境界線を削除します。
これは、多くの計算パッケージに見られる標準的な操作です。