Кроме одномерных вейвлет-функций используются также двухмерные. Кроме того, созданы алгоритмы (например, steerable pyramid, пирамиды с выбором направления), которые позволяют конструировать вейвлет-функции, оптимальные для разложения конкретного изображения. Интересно, что при этом снова получаются элементарные картинки, похожие на картинки, на которые настроены рецептивные поля нейронов зрительной коры головного мозга (см. выше, в параграфе главы 1, посвященном разреженному кодированию).
Рис. 5.20
.Рис. 5.21
.5.4. Поля градиентов
Метод градиентных полей основывается на том, что для черно-белого изображения (или одного из цветовых каналов) можно построить градиентное поле. При этом для каждой точки изображения определяется градиент яркости, то есть, двухмерный вектор, по направлению которого яркость возрастает быстрее всего, а длина вектора пропорциональна скорости роста яркости.
Для примера на рисунке 5.22 показаны градиентные поля двух модельных изображений, полученных инструментом графического редактора «градиент» (не путать с градиентом-вектором). Этот инструмент предназначен для получения плавного и равномерного перехода, идущего в определенном направлении, от одного цвета к другому. На рисунке в левой колонке показаны радиальные переходы от белого к черному (слева сверху) и, наоборот, от черного к белому (слева снизу). В четырех правых колонках даны компоненты градиентных полей этих модельных изображений. Нулевые значения изображены 50 %-м серым цветом (как и фон), положительные значения светлее фона, а отрицательные – темнее.
Рис. 5.22
.Для радиального перехода от белого к черному яркость возрастает равномерно по направлению от центра к краям картинки (как для воронки в виде конуса). А для радиального перехода от черного к белому – тоже равномерно, но по направлению к центру картинки (как для конуса). Поэтому модуль градиента (изображен в предпоследней колонке) для обоих изображений везде постоянен и больше нуля.
А направление градиента (угол между градиентом и горизонталью, изображен в последней колонке) изменяется от -180 градусов (черный цвет) до +180 градусов (белый цвет).
Перейдем к реальным фотографиям. На рисунке 5.23 показано градиентное поле пейзажа, изображенного на рисунке 5.16а. Серый цвет точек означает, что для таких точек градиенты трех цветовых каналов приблизительно равны. Если градиенты не равны, то, поскольку rgb-компоненты цвета точки градиентного поля пропорциональны градиентам цветовых каналов, то преобладающий цвет точки соответствует большему градиенту.
Рис. 5.23
.Какую пользу можно извлечь из такого представления?
Во-первых, можно преобразовать градиентное поле в различные маски, чтобы разложить картинку на части, соответствующие разным диапазонам значений элементов градиентных полей.
Во-вторых, можно изменить градиентное поле определенным образом и после восстановления получить картинку с новыми желательными свойствами.
В-третьих, можно попытаться скомбинировать градиентные поля
Рассмотрим первый вариант. Поле модуля градиента можно использовать для построения маски, выделяющей те области изображения, в которых модуль градиента принимает значения из заданного интервала. Используя инструмент «порог» для слоя с градиентным полем, легко получить маску, вырезающую любой нужный интервал модулей градиентов, и обрабатывать только соответствующие области снимка.
На рисунке 5.24 показано разложение картинки с рисунка 5.16а на три области:
• область малых модулей градиента (Рис. 5.24а);
• область средних по величине модулей градиента (Рис. 5.24б);
• область больших модулей градиента (Рис. 5.24в).
Рис. 5.24
.С помощью полученных масок можно, например, выполнить следующее:
• понизив яркость области малых модулей градиента (или повысив локальный контраст этой области) усилить драматизм облачного неба (рисунок 5.25а);