«Ядро Гаусса 3×3» относится к матрице 3×3, которая используется при обработке изображений и компьютерном зрении для применения к изображению размытия по Гауссу. Ядро сворачивается с изображением для получения сглаженной версии изображения.
Вот несколько методов с примерами кода на Python для создания гауссовского ядра 3×3:
Метод 1: использование NumPy и SciPy
import numpy as np
from scipy.ndimage import gaussian_filter
# Create a 3x3 Gaussian kernel with standard deviation of 1
kernel = np.array([[1, 2, 1],
[2, 4, 2],
[1, 2, 1]]) / 16
# Apply the kernel to an image using the gaussian_filter function
smoothed_image = gaussian_filter(image, sigma=1)
Метод 2: использование OpenCV
import cv2
# Create a 3x3 Gaussian kernel with standard deviation of 1
kernel = cv2.getGaussianKernel(3, 1)
# Apply the kernel to an image using the filter2D function
smoothed_image = cv2.filter2D(image, -1, kernel)
Метод 3: расчет вручную
import numpy as np
def gaussian_kernel(size, sigma):
kernel = np.fromfunction(lambda x, y: (1/(2*np.pi*sigma2)) * np.exp(-((x-(size-1)/2)2 + (y-(size-1)/2)2)/(2*sigma2)), (size, size))
return kernel / np.sum(kernel)
# Create a 3x3 Gaussian kernel with standard deviation of 1
kernel = gaussian_kernel(3, 1)
# Apply the kernel to an image using convolution
smoothed_image = np.convolve(image, kernel, mode='same')