したがって、画像を取得して「単色にブレンド」する必要があります。画像の「平均色」を取得しようとしていますか?
その場合、必要な出力は単純に単一のRGB値であるため、ガウスフィルターを使用すると複雑になりすぎる可能性があります。これを行う最も簡単な方法は、各カラーチャネル(赤、緑、青)の平均を計算することです。
int r,g,b;
r=g=b=0;
for (y=0 ; y<image_height ; y++)
for (x=0 ; x<image_width ; x++)
{
r = r + image[y,x,0];
g = g + image[y,x,1];
b = b + image[y,x,2];
}
num_pixels = image_height * image_width;
average_r = r / num_pixels;
average_g = g / num_pixels;
average_b = b / num_pixels;
ガウスフィルターは中央重点フィルターです。つまり、フィルタリングウィンドウの中央のピクセルは、他のピクセルよりも重く重み付けされます。画像をぼかす場合はこれが適切ですが、画像全体をブレンドするには、上記の擬似コードのように、すべてのピクセルに均等に重み付けするのも同様に効果的です。