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