Основная идея заключается в том, что новые пиксели изображения создаются средневзвешенным из близких к нему пикселей (представьте, что вы хотите нарисовать круг вокруг пикселя).
Для каждого пикселя на изображении вы собираетесь создать маленький квадрат вокруг пикселя. Допустим, вы берете 8 соседей рядом с пикселем (включая диагонали, хотя здесь это не имеет значения), и мы получаем средневзвешенное значение, чтобы получить средний пиксель.
В случае размытия по Гауссу он разбивается на две одномерные операции. Для каждого пикселя возьмите некоторое количество пикселей рядом с пикселем только в направлении строки. Умножьте значения пикселей на время, рассчитанное по гауссовскому распределению, (или, если вы делаете это для визуального эффекта, а не по научным причинам, веса могут выглядеть как угодно) и суммируйте их. Еще один способ взглянуть на это - сделать пиксель вектором, а вес - вектором, и вы берете скалярное произведение. Повторите этот процесс в направлении столбца как отдельный проход.