Функция Свертка (Convolution)
Функция Свертка (Convolution) выполняет фильтрацию значений пикселов в изображении, которая может использоваться для повышения резкости изображения, размывания изображения, определения ребер в пределах изображения или других усовершенствований, основанных на ядре фильтрации.
Входные данные для этой функции:
- Входной растр
- Тип
- Ядро
Типы фильтров свертки
Фильтры используются для повышения качества растрового изображения путем устранения ложных данных или улучшения характеристик данных. Эти фильтры свертки применяются к движущемуся, перекрывающемуся ядру (окно или окрестность), например, 3 x 3. Фильтры свертки работают путем вычисления значения пиксела на основе взвешивания его соседей.
Существует несколько типов фильтров свертки, которые вы можете использовать в этой функции. Вы также можете задать тип Заданный пользователем (User Defined) и ввести свои значения ядер.
Вы можете применить фильтр медианы к изображению, задав вес 1/9 для ядра 3 x 3, тем самым давая каждому пикселу в ядре равный вес. Этот фильтр можно использовать для сглаживания изображения. Есть другие ядра, которые можно использовать для выделения и подчеркивания границ (рёбер). Вы можете объединять фильтры для достижения определенных результатов. Например, вы можете применить фильтр, которые удалит пятно или сгладит изображение, затем применить фильтр, который выявит ребра.
Для достижения лучших результатов отображения вы можете применить растяжку гистограммы, чтобы настроить контраст и яркость изображения для помощи в выделении пространственных объектов.
На примерах ниже показано одно из этих двух изображений:
Типы градиента
Фильтры градиента могут использоваться для обнаружения ребер с шагом в 45 градусов.
Тип |
Описание |
(Пример: | |
---|---|---|---|
Градиент Восток |
Фильтр 3 x 3 1 0 1 2 0 -2 1 0 -1 |
|
|
Градиент Север |
Фильтр 3 x 3 -1 -2 -1 0 0 0 1 2 1 |
|
|
Градиент Северо-восток |
Фильтр 3 x 3 0 -1 -2 1 0 -1 2 1 0 |
|
|
Градиент Северо-запад |
Фильтр 3 x 3 -2 -1 0 -1 0 1 0 1 2 |
|
|
Градиент Юг |
Фильтр 3 x 3 1 2 1 0 0 0 -1 -2 -1 |
|
|
Градиент Запад |
Фильтр 3 x 3 -1 0 1 -2 0 2 -1 0 1 |
|
Типы Лапласа
Фильтры Лапласа часто используются для выявления ребер. Он часто применяется к изображению, которое сначала было сглажено, для уменьшения его чувствительности к шуму.
Тип |
Описание |
(Пример: | |
---|---|---|---|
Лапласа 3x3 |
Фильтр 3 x 3 0 -1 0 -1 4 -1 0 -1 0 |
|
|
Лапласа 5x5 |
Фильтр 5 x 5 0 0 -1 0 0 1 -1 -2 -1 0 -1 -2 17 -2 -1 1 -1 -2 -1 0 1 0 -1 0 0 |
|
Типы обнаружения линий
Такие фильтры обнаружения линий, как фильтры градиента, могут использоваться для обнаружения ребер.
Вы можете получить лучшие результаты, если примените алгоритм сглаживания до алгоритма обнаружения ребер.
Тип |
Описание |
(Пример: | |
---|---|---|---|
Обнаружение линий По горизонтали |
Фильтр 3 x 3 -1 -1 -1 2 2 2 -1 -1 -1 |
|
|
Обнаружение линий По левой диагонали |
Фильтр 3 x 3 2 -1 -1 -1 2 -1 -1 -1 2 |
|
|
Обнаружение линий По правой диагонали |
Фильтр 3 x 3 -1 -1 2 -1 2 -1 2 -1 -1 |
|
|
Обнаружение линий По вертикали |
Фильтр 3 x 3 -1 0 -1 -1 2 -1 -1 2 -1 |
|
Типы распределения точек
Тип |
Описание |
(Пример: | |
---|---|---|---|
Распределение точек |
Фильтр 3 x 3 -0.627 0.352 -0.627 0.352 2.923 0.352 -0.627 0.352 -0.627 |
|
Типы слияния
Фильтр увеличения резкости (высокочастотный) подчеркивает сравнительное различие в значениях с соседями. Высокочастотный фильтр вычисляет фокальную суммарную статистику для каждой ячейки входных данных с помощью взвешенной окрестности ядра. Это позволяет выявить границы между пространственными объектами (например, границу между водным массивом и лесом), таким образом, подчеркивая ребра между объектами. Высокочастотный фильтр называется фильтром улучшения границ (ребер, краев). Ядро высокочастотного фильтра определяет, какие ячейки нужно использовать в окрестности, и то, насколько их взвешивать (перемножая их).
Тип |
Описание |
(Пример: | |
---|---|---|---|
Острый |
Фильтр 3 x 3 0 -0.25 0 -0.25 2 -0.25 0 -0.25 0 |
|
|
Острый II |
Фильтр 3 x 3 -0.25 -0.25 -0.25 -0.25 3 -0.25 -0.25 -0.25 -0.25 |
|
|
Слияние 3x3 |
Высокочастотный фильтр 3 x 3 -1 -1 -1 -1 9 -1 -1 -1 -1 |
|
|
Слияние 5x5 |
Высокочастотный фильтр 5 x 5 0 -1 -1 -1 0 -1 2 -4 2 -1 -1 -4 13 -4 -1 -1 2 -4 2 -1 0 -1 -1 -1 0 |
|
Типы сглаживания
Фильтры сглаживания (низкочастотные) сглаживают данные, уменьшая локальное изменение и удаляя шум. Низкочастотный фильтр вычисляет среднее значение для каждой окрестности. Эффект в том, что большие и маленькие значения в каждой окрестности будут усредняться, что уменьшит экстремальные значения данных.
Тип |
Описание |
(Пример: | |
---|---|---|---|
Сгладить Среднее арифметическое |
Фильтр 3 x 3 0.111 0.111 0.111 0.111 0.111 0.111 0.111 0.111 0.111 |
|
|
Сглаживание 3x3 |
Низкочастотный фильтр 3 x 3 1 2 1 2 4 2 1 2 1 |
|
|
Сглаживание 5x5 |
Низкочастотный фильтр 5 x 5 1 1 1 1 1 1 4 4 4 1 1 4 12 4 1 1 4 4 4 1 1 1 1 1 1 |
|
Типы Sobel
Фильтр Sobel используется для обнаружения ребер.
Тип |
Описание |
(Пример: | |
---|---|---|---|
Sobel По горизонтали |
Фильтр 3 x 3 -1 -2 -1 0 0 0 1 2 1 |
|
|
Sobel По вертикали |
Фильтр 3 x 3 -1 0 1 -2 0 0 -1 0 1 |
|