Функция Свертка (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

Острый 2

Слияние 3x3

Высокочастотный фильтр 3 x 3

-1 -1 -1 
-1  9 -1 
-1 -1 -1

Острый 3

Слияние 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

Острый 5

Типы сглаживания

Фильтры сглаживания (низкочастотные) сглаживают данные, уменьшая локальное изменение и удаляя шум. Низкочастотный фильтр вычисляет среднее значение для каждой окрестности. Эффект в том, что большие и маленькие значения в каждой окрестности будут усредняться, что уменьшит экстремальные значения данных.

Тип

Описание

(Пример:

Сгладить Среднее арифметическое

Фильтр 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 По горизонтали

Sobel По вертикали

Фильтр 3 x 3

-1  0  1 
-2  0  0 
-1  0  1

Sobel По вертикали

Связанные темы

9/11/2013