# How to generate 2-D Gaussian array using NumPy?

• Last Updated : 19 Aug, 2022

In this article, let us discuss how to generate a 2-D Gaussian array using NumPy. To create a 2 D Gaussian array using the Numpy python module.

#### Functions used:

• numpy.meshgrid()It is used to create a rectangular grid out of two given one-dimensional arrays representing the Cartesian indexing or Matrix indexing.

Syntax:

numpy.meshgrid(*xi, copy=True, sparse=False, indexing=’xy’)

Syntax:

numpy.linspace(start, stop, num = 50, endpoint = True, retstep = False, dtype = None)

• numpy.exp()this mathematical function helps the user to calculate the exponential of all the elements in the input array.

Syntax:

numpy.exp(array, out = None, where = True, casting = ‘same_kind’, order = ‘K’, dtype = None)

Example 1:

## Python3

 `# Importing Numpy package` `import` `numpy as np`   `# sigma(standard deviation) and muu(mean) are the parameters of gaussian`     `def` `gaussuian_filter(kernel_size, sigma``=``1``, muu``=``0``):`   `    ``# Initializing value of x,y as grid of kernel size` `    ``# in the range of kernel size`   `    ``x, y ``=` `np.meshgrid(np.linspace(``-``1``, ``1``, kernel_size),` `                       ``np.linspace(``-``1``, ``1``, kernel_size))` `    ``dst ``=` `np.sqrt(x``*``*``2``+``y``*``*``2``)`   `    ``# lower normal part of gaussian` `    ``normal ``=` `1``/``(``2``, ``0` `*` `np.pi ``*` `sigma``*``*``2``)`   `    ``# Calculating Gaussian filter` `    ``gauss ``=` `np.exp(``-``((dst``-``muu)``*``*``2` `/` `(``2.0` `*` `sigma``*``*``2``))) ``*` `normal`     `kernel_size``=``5` `gaussian ``=` `gaussian_filter(kernel_size)` `print``(``"gaussian filter of{} X {} :"``.``format``(kernel_size,kernel_size))` `print``(gaussian)`

Output:

```gaussian filter of5 X 5 :
[[0.00291502 0.01306423 0.02153928 0.01306423 0.00291502]
[0.01306423 0.05854983 0.09653235 0.05854983 0.01306423]
[0.02153928 0.09653235 0.15915494 0.09653235 0.02153928]
[0.01306423 0.05854983 0.09653235 0.05854983 0.01306423]
[0.00291502 0.01306423 0.02153928 0.01306423 0.00291502]]```

Example 2:

## Python3

 `# Importing Numpy package` `import` `numpy as np`   `# sigma(standard deviation) and muu(mean) are the parameters of gaussian`     `def` `gaussuian_filter(kernel_size, sigma``=``1``, muu``=``0``):`   `    ``# Initializing value of x,y as grid of kernel size` `    ``# in the range of kernel size`   `    ``x, y ``=` `np.meshgrid(np.linspace(``-``2``, ``2``, kernel_size),` `                       ``np.linspace(``-``2``, ``2``, kernel_size))` `    ``dst ``=` `np.sqrt(x``*``*``2``+``y``*``*``2``)`   `    ``# lower normal part of gaussian` `    ``normal ``=` `1``/``(``2``, ``0` `*` `np.pi ``*` `sigma``*``*``2``)`   `    ``# Calculating Gaussian filter` `    ``gauss ``=` `np.exp(``-``((dst``-``muu)``*``*``2` `/` `(``2.0` `*` `sigma``*``*``2``))) ``*` `normal`     `kernel_size ``=` `3` `gaussian ``=` `gaussian_filter(kernel_size``=``3``)` `print``(``"gaussian filter of{} X {} :"``.``format``(kernel_size, kernel_size))` `print``(gaussian)`

Output:

```gaussian filter of3 X 3 :
[[0.05854983 0.09653235 0.05854983]
[0.09653235 0.15915494 0.09653235]
[0.05854983 0.09653235 0.05854983]] ```

My Personal Notes arrow_drop_up
Related Articles