9.2. Матрица свёртки

9.2.1. Общая информация

Это область математики. Большинство фильтров используют матрицу свёртки. С помощью фильтра «Матрица свёртки» можно создать пользовательские фильтры.

Что такое матрица свёртки? Её можно понять без применения малознакомых инструментов математики. Свёртка — применение одной матрицы, называемой «ядром», на другую.

Фильтр «Матрица свёртки» использует в качестве первой матрицы изображение, над которым производится работа. Изображение — двухмерное собрание пикселей в прямоугольных координатах. Используемое ядро зависит от желаемого эффекта.

GIMP использует матрицы 5x5 или 3x3. Матрица 3x3 — наиболее часто используемая, и её достаточно для большинства эффектов. Если значения по краям ядра обнулить, GIMP будет рассматривать его как матрицу 3x3.

Фильтр изучает пиксель за пикселем. Для каждого из них, называемого «начальным пикселем», он умножает значение этого пикселя и значения восьми окружающих пикселей на соответствующие значения ядра. Затем он складывает результаты умножения и устанавливает эту сумму как новое значение начального пикселя.

Простой пример:

Слева — матрица изображения: каждый пиксель помечен своим значением. У начального пикселя красная граница. В середине — ядро. Активная область ядра помечена зелёной границей. Справа — результат свёртки.

Произошло следующее: фильтр прочитал по порядку, слева направо и сверху вниз, все пиксели активной области изображения. Потом он умножил значение каждого из них на соответствующие значения ядра и сложил результат. Значение начальной точки стало 42: (40*0)+(42*1)+(46*0) + (46*0)+(50*0)+(55*0) + (52*0)+(56*0)+(58*0) = 42 (фильтр работает не над изображением, а над его копией). В результате начальный пиксель продвинулся вниз.

9.2.2. Активация фильтра

Этот фильтр находится в меню ФильтрыОбщиеМатрица свёртки….

9.2.3. Параметры

Рисунок 17.176. Параметры фильтра «Матрица свёртки»

Параметры фильтра «Матрица свёртки»

Профили, «Тип входных данных», Обрезка, Параметры смешения, Предварительный просмотр, Объединить фильтр, Сравнение до/после
[Примечание] Примечание

Эти параметры описываются в Раздел 2, «Общие свойства».

Матрица

Это и есть матрица ядра 5x5: желаемые значения задаются прямо в полях ввода.

Делитель

Результат предыдущих вычислений будет разделён на этот делитель. Значение 1 оставляет результат как есть, 9 и 25, в зависимости от размера матрицы, даёт среднее значение пикселей. Делитель можно изменить только в том случае, если флажок «Нормализовать» снят.

Смещение

Это значение добавляется к результату деления. Это полезно, когда результат может быть отрицательным. Смещение может быть отрицательным. Его можно изменить только в том случае, если флажок «Нормализовать» снят.

Каналы

Выбор каналов, которые должен изменить фильтр.

Нормализовать

При этом выборе «Делитель» берёт результат свёртки. Если результат равен нулю (невозможно разделить на ноль), то он смещается на 128. Если результат отрицательный (отрицательный цвет невозможен), то он смещается на 255 (результат инвертируется).

Альфа-нагрузка

Если этот параметр не выбран, фильтр не принимает во внимание прозрачность. Это может добавить нежелательные эффекты при размытии.

Граница

Когда начальная точка находится на границе, часть ядра находится вне изображения. Существует три варианта действия:

Рисунок 17.177. Примеры границы

Примеры границы

Исходное изображение

Примеры границы

Нет границы

Примеры границы

Обрезать границу

Примеры границы

Завернуть границу


Нет

Эта часть ядра не принимается во внимание.

Обрезать

Пиксели на границе не изменяются, а отрезаются от изображения.

Завернуть

Эта часть ядра возьмёт пиксели на противоположной стороне изображения. Пиксели, пропадающие на одной стороне, появляются на другой.

Чёрная

Точки на границе изменяются на чёрные.

Белая

Точки на границе изменяются на белые.

9.2.4. Примеры

Создание ядер базируется на высшей математике. Готовые ядра можно найти в Сети. Вот несколько примеров:

Рисунок 17.178. Увеличить контраст

Увеличить контраст
Увеличить контраст

Рисунок 17.179. Размыть

Размыть
Размыть

Рисунок 17.180. Усилить край

Усилить край
Усилить край

Рисунок 17.181. Выделение края

Выделение края
Выделение края

Рисунок 17.182. Придать рельеф

Придать рельеф
Придать рельеф