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?
Asked
Active
Viewed 1.2k times
3
-
What's wrong with [randn](http://uk.mathworks.com/help/matlab/ref/randn.html)? – kkuilla Apr 02 '15 at 09:58
1 Answers
5
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

Luis Mendo
- 110,752
- 13
- 76
- 147