Фильтрация является методом для изменения или улучшения изображения. Например, вы можете фильтровать изображение, чтобы подчеркнуть определенные функции или удалить другие функции. Операции обработки изображений, реализованные с фильтрацией, включают сглаживание, заточку и улучшение ребер.
Фильтрация является соседской операцией, в которой значение любого заданного пикселя в выходном изображении определяется путем применения некоторого алгоритма к значениям пикселей в окрестности соответствующего входного пикселя. Окрестностью пикселя является некоторый набор пикселей, заданный их расположением относительно этого пикселя. (Смотрите Соседство или Обработка блоков: Обзор для общего обсуждения соседских операций.) Линейная фильтрация является фильтрацией, в которой значение выходного пикселя является линейной комбинацией значений пикселей в окрестности входного пикселя.
Линейная фильтрация изображения выполняется посредством операции, называемой сверткой. Свертка является соседней операцией, в которой каждый выходной пиксель является взвешенной суммой соседних входных пикселей. Матрица весов называется ядром свертки, также известным как фильтр. Ядро свертки является ядром корреляции, которое было повернуто на 180 степени.
Например, предположим, что изображение
A = [17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9]
и ядро корреляции
h = [8 1 6 3 5 7 4 9 2]
Вы бы использовали следующие шаги, чтобы вычислить пиксель выхода в положении (2,4):
Поверните ядро корреляции на 180 степени вокруг его центрального элемента, чтобы создать ядро свертки.
Сдвиньте центральный элемент ядра свертки так, чтобы он лежал поверх (2,4) элемента A
.
Умножьте каждый вес во повернутом ядре свертки на пиксель A
внизу.
Суммируйте отдельные продукты из шага 3.
Отсюда (2,4) выходной пиксель
Показано на следующем рисунке.
Вычисление (2,4) выходы свертки
Операция, называемая корреляцией, тесно связана со сверткой. В корреляции значение выходного пикселя также вычисляется как взвешенная сумма соседних пикселей. Различие в том, что матрица весов, в этом случае называемая корреляционным ядром, не вращается во время расчета. Функции создания фильтра Image Processing Toolbox™ возвращают ядра корреляции.
Следующий рисунок показывает, как вычислить (2,4) выход пиксель корреляции A
, с учетом h
является корреляционным ядром вместо сверточного ядра, используя следующие шаги:
Сдвиньте центральный элемент ядра корреляции так, чтобы он лежал на верхнюю часть из (2,4) элементов массива.
Умножьте каждый вес в ядре корреляции на пиксель A
внизу.
Суммируйте отдельные продукты.
(2,4) выходной пиксель от корреляции
Вычисление (2,4) выходы корреляции