高斯滤波器核值

时间:2012-12-18 17:43:17

标签: c++ gaussian

谁能告诉我如何使用高斯滤波器方程生成2d高斯滤波器内核? x和y值如何变化?

参考:http://en.wikipedia.org/wiki/Gaussian_function

1 个答案:

答案 0 :(得分:2)

生成内核非常简单。如果您的问题出在应用内核中,则需要更新问题。

内核只是一个方形矩阵值,通常是一个奇数大小,因此有一个明确定义的中心。为了填充它,xy值从-(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
    }
}