how to obtain 2d Gaussian kernel in matlab

10,796

Try fspecial (Image Processing Toolbox) with the 'gaussian' option. For example,

z = fspecial('gaussian', [30 30], 4);

generates values on a 30×30 grid with sampling step 1 and standard deviation 4.

surf(z)

produces the graph

enter image description here

The function is normalized to unit volume. To check this, note that the sampling step is 1, so that the Riemann sum approximating the integral is just the sum of all function values:

>> sum(z(:))
ans =
    1.0000
Share:
10,796
Gaurang  Rokad
Author by

Gaurang Rokad

Updated on June 05, 2022

Comments

  • Gaurang  Rokad
    Gaurang Rokad almost 2 years

    How do I obtain 2D circularly symmetric Gaussian weighting function sampled out to 3 standard deviations (3 x 3) and re scaled to unit volume?