Как работает filter2D в обработке изображений для RGB-изображений, чтобы вручную вычислять вывод матрицы?

Я новичок в обработке изображений, я недавно попытался внедрить filter2D, чтобы уменьшить шумовое изображение с помощью цветов RGB, и это хорошо работает. Но я не понимаю, как это работает вручную в матрице изображения. Кто-нибудь может помочь мне объяснить, как это работает вручную? Это матрица ввода и вывода я получаю. Матрица входного изображения Матрица входного изображения

Спасибо за вашу помощь.:)

1 ответ

Вкратце, фильтрация изображения означает применение к нему фильтра (или ядра), т.е. свертывание изображения этим ядром. Для этого вы берете каждый пиксель на вашем изображении и рассматриваете окрестности вокруг него. Вы применяете ядро ​​к окрестности, умножая каждый пиксель окрестности на соответствующий коэффициент ядра и суммируя все эти значения. Для пикселя это можно суммировать на следующем рисунке ( источник): https://developer.apple.com/library/archive/documentation/Performance/Conceptual/vImage/Art/kernel_convolution.jpg

Например, устанавливая все коэффициенты в 1/N (где N - количество элементов в вашем ядре), вы вычисляете среднюю интенсивность своего соседства. Вы можете увидеть https://en.wikipedia.org/wiki/Multidimensional_discrete_convolution для получения дополнительной информации о сверточных изображениях.

В документации OpenCV приведены некоторые практические примеры сглаживания изображений.

Надеюсь, поможет

Другие вопросы по тегам