¿Cómo generar una array gaussiana 2-D usando NumPy?

En este artículo, analicemos cómo generar una array gaussiana 2-D usando NumPy. Para crear una array gaussiana 2D usando el módulo Numpy python.

Funciones utilizadas:

  • numpy.meshgrid() : se utiliza para crear una cuadrícula rectangular a partir de dos arrays unidimensionales dadas que representan la indexación cartesiana o la indexación matricial. 

Sintaxis:

numpy.meshgrid(*xi, copia=Verdadero, disperso=Falso, indexación=’xy’)
 

  • numpy.linspace() : devuelve espacios de números de manera uniforme en el intervalo de escritura.

Sintaxis:

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

  • numpy.exp() : esta función matemática ayuda al usuario a calcular el exponencial de todos los elementos en la array de entrada.

Sintaxis:

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

Ejemplo 1:

Python3

# Importing Numpy package
import numpy as np
 
# sigma(standard deviation) and muu(mean) are thre 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)

Producción:

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]]

Ejemplo 2:

Python3

# Importing Numpy package
import numpy as np
 
# sigma(standard deviation) and muu(mean) are thre 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)

Producción:

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

Publicación traducida automáticamente

Artículo escrito por vanshgaur14866 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *