Для создания собственного матричного фильтра для применения эффекта размытия по Гауссу, вам понадобится задать размер и значения ядра фильтра. Ядро фильтра - это двумерный массив чисел, который применяется к каждому пикселю изображения для вычисления его нового значения.
Ниже приведен пример кода на языке Python, который создает матричный фильтр для эффекта размытия по Гауссу:
```python
import numpy as np
import cv2
# Размер ядра фильтра
kernel_size = 5
# Сигма (стандартное отклонение) для эффекта размытия по Гауссу
sigma = 1.0
# Расчет коэффициентов Гауссового ядра
kernel = np.fromfunction(
lambda x, y: (1/(2*np.pi*sigma**2)) * np.exp(-((x-(kernel_size-1)/2)**2+(y-(kernel_size-1)/2)**2)/(2*sigma**2)),
(kernel_size, kernel_size)
)
kernel = kernel / np.sum(kernel)
# Вывод ядра фильтра
print(kernel)
# Применение фильтра к изображению
image = cv2.imread('input.jpg')
blurred_image = cv2.filter2D(image, -1, kernel)
# Вывод изображения с примененным эффектом размытия по Гауссу
cv2.imshow('Blurred Image', blurred_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
В этом примере мы используем функцию `np.fromfunction()` из библиотеки NumPy для расчета значений ядра фильтра. Значения ядра фильтра нормализуются делением на сумму всех элементов в ядре. Затем мы используем функцию `cv2.filter2D()` из библиотеки OpenCV для применения фильтра к изображению.
Что касается работы с различными форматами значений пикселей (RGB, HEX, CMYK), то вам необходимо сначала преобразовать значения пикселей в один единый формат, например, в формат RGB. Затем вы можете применять матричный фильтр к изображению с преобразованными значениями пикселей.
В библиотеке OpenCV, используемой в приведенном выше примере, значения пикселей изображения представлены в формате BGR. Если у вас есть изображение в другом формате, вы можете использовать функции преобразования цветового пространства из библиотеки OpenCV, такие как `cv2.cvtColor()`, для конвертации изображения в формат BGR перед применением фильтра.
Например, если у вас есть изображение в формате RGB, вы можете сконвертировать его в формат BGR следующим образом:
```python
bgr_image = cv2.cvtColor(rgb_image, cv2.COLOR_RGB2BGR)
```
После этого вы сможете успешно применить матричный фильтр к изображению `bgr_image`.