Может кто-нибудь сказать мне, как создать ядро 2d гауссовского фильтра, используя уравнение фильтра Гаусса? как меняется значение x и y?
к генерировать ядро довольно простое. Если ваша проблема в применение ядро, нужно обновить вопрос.
Ядро — это просто квадратная матрица значений, как правило, размером нечетного числа, так что есть четко определенный центр. Чтобы заполнить его, x
а также y
значения идут от -(n-1)/2
в (n-1)/2
где n
это размер матрицы.
double half_n = (n - 1) / 2.0;
for (i = 0; i < n; ++i)
{
double x = i - half_n;
for (j = 0; j < n; ++j)
{
double y = j - half_n;
kernel[i][j] = // use formula with x and y here
}
}
Других решений пока нет …