Open In App

How to generate 2-D Gaussian array using NumPy?

Last Updated : 15 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

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:

Python
import numpy as np


def gaussian_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)

    # Normal part of the Gaussian function
    normal = 1 / (2 * np.pi * sigma**2)

    # Calculating Gaussian filter
    gauss = np.exp(-((dst - muu)**2 / (2.0 * sigma**2))) * normal

    return gauss  # Return the calculated Gaussian filter


# Example usage:
kernel_size = 5
gaussian = gaussian_filter(kernel_size)
print("Gaussian filter of {} X {}:".format(kernel_size, kernel_size))
print(gaussian)

Output
Gaussian filter of 5 X 5:
[[0.05854983 0.0851895  0.09653235 0.0851895  0.05854983]
 [0.0851895  0.12394999 0.14045374 0.12394999 0.0851895 ]
 [0.09653235 0.14045374 0.15915494 0.14045374 0.09653235]
...


Example 2:

Python
import numpy as np

def gaussian_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)

    # Normal part of the Gaussian function
    normal = 1 / (2 * np.pi * sigma**2)

    # Calculating Gaussian filter
    gauss = np.exp(-((dst - muu)**2 / (2.0 * sigma**2))) * normal
    
    return gauss  # Return the calculated Gaussian filter

# Example usage:
kernel_size = 3
gaussian = gaussian_filter(kernel_size=kernel_size)
print("Gaussian filter of {} X {}:".format(kernel_size, kernel_size))
print(gaussian)

Output
Gaussian filter of 3 X 3:
[[0.00291502 0.02153928 0.00291502]
 [0.02153928 0.15915494 0.02153928]
 [0.00291502 0.02153928 0.00291502]]



Next Article
Practice Tags :

Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy