2017-02-04 136 views
0

我在Matlab中创建了一个高斯滤波器。我创建了以下用于创建内核的代码。与Matlab不同的高斯滤波器内核高斯滤波器内核

function kernel = gaussian_filter(sigma) 
    kernel_width = 3 * sigma - 1; 
    [x, y] = meshgrid(-kernel_width/2:kernel_width/2, -kernel_width/2:kernel_width/2); 
    normalized_constant = 1/(2 * pi * sigma * sigma); 
    kernel = normalized_constant * exp(-(x.^2 + y.^2)/ (2 * sigma * sigma)); 
    K = mat2gray(kernel); 
    imshow(K); 
    title('Gaussian Kernel'); 
end 

而且我的输出是:

gaussian_filter(3) 

ans = 

    Columns 1 through 7 

    0.0030 0.0044 0.0058 0.0069 0.0073 0.0069 0.0058 
    0.0044 0.0065 0.0086 0.0101 0.0107 0.0101 0.0086 
    0.0058 0.0086 0.0113 0.0134 0.0142 0.0134 0.0113 
    0.0069 0.0101 0.0134 0.0158 0.0167 0.0158 0.0134 
    0.0073 0.0107 0.0142 0.0167 0.0177 0.0167 0.0142 
    0.0069 0.0101 0.0134 0.0158 0.0167 0.0158 0.0134 
    0.0058 0.0086 0.0113 0.0134 0.0142 0.0134 0.0113 
    0.0044 0.0065 0.0086 0.0101 0.0107 0.0101 0.0086 
    0.0030 0.0044 0.0058 0.0069 0.0073 0.0069 0.0058 

    Columns 8 through 9 

    0.0044 0.0030 
    0.0065 0.0044 
    0.0086 0.0058 
    0.0101 0.0069 
    0.0107 0.0073 
    0.0101 0.0069 
    0.0086 0.0058 
    0.0065 0.0044 
    0.0044 0.0030 

但是当我运行了Matlab高斯滤波器,其结果是稍微偏离我的输出。

h = fspecial('gaussian', 9, 3) 

h = 

    Columns 1 through 7 

    0.0040 0.0059 0.0077 0.0091 0.0096 0.0091 0.0077 
    0.0059 0.0086 0.0114 0.0135 0.0142 0.0135 0.0114 
    0.0077 0.0114 0.0150 0.0178 0.0188 0.0178 0.0150 
    0.0091 0.0135 0.0178 0.0210 0.0222 0.0210 0.0178 
    0.0096 0.0142 0.0188 0.0222 0.0235 0.0222 0.0188 
    0.0091 0.0135 0.0178 0.0210 0.0222 0.0210 0.0178 
    0.0077 0.0114 0.0150 0.0178 0.0188 0.0178 0.0150 
    0.0059 0.0086 0.0114 0.0135 0.0142 0.0135 0.0114 
    0.0040 0.0059 0.0077 0.0091 0.0096 0.0091 0.0077 

    Columns 8 through 9 

    0.0059 0.0040 
    0.0086 0.0059 
    0.0114 0.0077 
    0.0135 0.0091 
    0.0142 0.0096 
    0.0135 0.0091 
    0.0114 0.0077 
    0.0086 0.0059 
    0.0059 0.0040 

我不缺少算法中的任何步骤。我想弄清楚为什么我们的结果不匹配。

+0

克恩* E * L,籽粒不... – dda

回答