2017-02-04 2 views
0

Ich erstelle einen Gaußschen Filter in Matlab. Ich habe den folgenden Code zum Erstellen des Kernels erstellt.Gaußscher Filterkernel unterscheidet sich von Matlab Gaußscher Filterkernel

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 

Und meine Ausgabe lautet:

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 

Aber wenn ich die Matlab Gauß-Filter laufen, ist das Ergebnis etwas aus meiner Ausgabe.

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 

Ich vermisse keine Schritte im Algorithmus. Ich versuche herauszufinden, warum unsere Ergebnisse nicht übereinstimmen.

+0

Kern * e * l, nicht kernal ... – dda

Antwort

Verwandte Themen