Итак, вы хотите взять изображение и «смешать его в один цвет».Вы пытаетесь получить «средний цвет» для изображения?
Если это так, использование фильтра Гаусса, возможно, усложняет его, поскольку требуемый вывод - это просто одно значение 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;
Гауссов фильтр - это фильтр с центральным взвешиванием , что означает, чтопиксель в центре окна фильтрации имеет больший вес, чем остальные.Если вы хотите размыть изображение, то это уместно, но для смешивания всего изображения одинаково эффективен вес всех пикселей, как в приведенном выше псевдокоде.