问题
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?
回答1:
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
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
来源:https://stackoverflow.com/questions/29406373/how-to-obtain-2d-gaussian-kernel-in-matlab