Авг 062008
 

Немного слов про цветовое пространство LAB и инструмент Кривые (Curves), который в GIMP вызывается из меню Цвет (или отдельно подключаемой кнопкой с панели инструментов).

Эта заметка нужна для того, чтобы я на неё ссылался в дальнейших статьях, не повторяясь многократно; тут будет минимальная достаточная информация про LAB и Curves, понятная без специальной подготовки (планируется улучшать эту заметку, внося исправления и дополнения, как свои, так и по результатам возможного комментирования).

LAB

LAB — цветовое пространство с большим цветовым охватом, больше, чем у RGB и/или CMYK. Предназначено оно для числового описания любого цвета, в том числе мнимого, несуществующего, в единой координатной сетке. Мнимый цвет — теоретический цвет LAB, со свойствами дуализма цветов: белый и одновременно ярко-зелёный, или антрацитно-жёлтый, или серый 18% и одновременно пурпурный, и так далее. Эти дикие сочетания несут в себе очень мощные, но скрытые возможности, которые начали осознаваться цветокорректорами только примерно с 2005 года. Цветовой охват — это сумма всех возможных цветов данного цветового пространства. Один и тот же цвет может входить в разные цветовые пространства, но есть цвета, которые могут не входить в какие-либо пространства, кроме имманентных ему, то есть, другими словами, родных для него. LAB вбирает в себя все охваты всех цветовых пространств, являясь для них суммирующим пространством. Первая разработка в теории — Франция, 1939 год.

LAB состоит из трёх каналов: Lightness, A, B. Первый переводится как «яркость», два последующих никак не переводятся и не расшифровываются. Канал A отвечает за пурпурно-зелёный бинар, канал B отвечает за жёлто-синий бинар. Бинаром я называю объединение этих пар цветов в единые блоки, внесение изменений в которые даёт цветовые сдвиги из одного цвета пары в другой цвет. Надо отметить, что в колористике и, как следствие, дизайне, пурпурно-зелёное сочетание считается пониженным относительно жёлто-синего. Не все принимают эту мысль («чем вам клубника на грядке не угодила?»©), но, тем не менее, дизайнеры стараются придерживаться этой идеи. Пример: флаги Украины и Швеции, антипример: флаг Беларуси. Круговая карта цветов CMYK, будучи наложена на такую же карту цветов RGB, покажет, что большинство цветов обоих пространств совпадает, разница в ярких оттенках синего, зелёного и красно-оранжевого. (Можете сообразить, как это соотносится с тем, что производители современных принтеров делают их шестикрасочными).

Сверхважно: в LAB контраст отделен от цветности, в отличие от RGB и CMYK. Что из этого следует? А то, что при изменении любого не LAB-канала (Red, Green, Blue, Cyan, Magenta, Yellow, Black), вы меняете и контраст и цвет, что весьма часто бывает вредно. Даже так: одновременное изменение контраста и цвета является исключением в цветокоррекции. Некоторые инструменты GIMP при работе в RGB имеют возможность сохранять яркость нетронутой (Preserve Ligtness).

Curves

Это самый мощный на данный день инструмент для цветокоррекции. Базируется на нелинейной математике, в отличие от Levels; это даёт самый большой диапазон возможностей в работе с цветом изображения.

Вы видите, как выглядит инструмент Curves; каналы A и B в были визуализованы мной в соответствии с характеристиками этих каналов, канал Lightness будет рассмотрен позже.

Сверху видны обычные кнопки, характерные для любого окна в системе: Свернуть, Распахнуть В Полный Экран, Закрыть и название инструмента (средства Linux позволяют изменить расположение, наличие и комбинации кнопок и надписей). Ниже видна панель, на которой отображается иконка инструмента, его описание, название активного слоя и документа, а также превью канала.

Ещё ниже мы видим кнопку текущего редактируемого канала, кнопку восстановления канала до исходного состояния и две кнопки вида гистограммы, я из них предпочитаю логарифмический.

Рассмотрим координатную сетку. Она имеет 16 ячеек, 4 на 4. Координаты отсчитываются от нижнего левого угла с позиции 0, отсчёт по вертикали идёт по оси y, по горизонтали отсчёт ведётся по оси x. Сетка имеет 256 координатных точек в каждом направлении. Пределы вычислений при работе имеют координаты от x (0), y (0) до x (255), y (255). На скриншотах этого не видно, но при работе с этим инструментом в левом верхнем углу отображаются координаты нахождения курсора мыши. Кроме того, и это тоже не видно на этих изображениях, на поле, покрытом сеткой, прорисовывается гистограмма в реальном времени, что даёт полный контроль над внесением искажений в каналы. При нажатии на кнопку распахивания окна, инструмент станет занимать весь экран, что чрезвычайно удобно для работы. Почему? Потому что LAB — это такое пространство, в котором любые искажения, привносимые кривыми, непропорционально велики (ещё говорят о низкой чувствительности сетки). На мелкой сетке сложно вносить тонкие искажения в кривую, но при распахивании окна инструмента во весь экран мы получаем эту необходимую чувствительность. Здесь, пожалуй, не хватает только трёх вещей: хочется сетку минимум 10 на 10, ячеек квадратной формы, а не вытянутых, и возможности ввода координат каждого узла вручную.

Слева и снизу от координатных осей располагаются две линейки, показывающих направление осветления. Верхние ячейки сетки отвечают за света изображения, нижние ячейки отвечают за тени изображения, середина — за нейтрали. При попадании курсора мышки на диагональную линию — заготовку кривой, на ней появляется узел с координатами касания, у этого узла можно менять координаты перетаскиванием, добиваясь нужного результата. Если работать с пурпурно-зелёным бинаром, то изменение узла с координатами x (190), y (190) на координаты, к примеру, x (170), y (190) даст в светах изображения сдвиг в сторону красного цвета. А на жёлто-синем бинаре перемещение узла с координатами x (64), y (64) в x (128), y (64) даст сдвиг цвета в тенях из жёлтого в синий. Нетрудно догадаться, что можно построить такую кривую на каждом канале, при котором цвета, даже очень близкие, могут быть разнесены на значительное расстояние друг от друга, что даёт нам, например, возможность создавать маски, защищающие на фотографии какие-то области, которые иначе и не могут быть выделены, даже вручную; вообще, тема усиления цветового контраста для достижения того или иного результата ещё будет рассмотрена не один раз. Сближение концевых точек по горизонтальной оси даёт усиление цвета, параллельное движение этих же точек по вертикальной оси ослабляет цвет. Неравномерное движение концевых точек сдвигает цвет изображения в один из цветов бинаров (при этом центр кривой уходит из центра сетки, это важно помнить и понимать).

Ниже сетки располагаются кнопки сохранения и загрузки нарисованных кривых и кнопки выбора вида кривой (для цветокоррекции рекомендуется оставаться всегда на типе плавной кривой). Кнопки, которые мы видим ещё ниже, рассматривать смысла нет в виду их «прозрачности».

Уф, можно выдохнуть.

GIMP пока (текущая версия 2.4.6, текущая девелоперская версия 2.5.2) не поддерживает работы в LAB напрямую из-за ограничений, связанных с использованием в коде программы вызовов из устаревших библиотек (хм, надо написать сказку про Гимпли, старого библиотекаря Мемории, хехе), поэтому работа с кривыми в LAB делается не с, хм, фасада. Этому будет посвящено ещё несколько статей.

Опубликовать в LiveJournal
Опубликовать в Google Plus
Опубликовать в Яндекс
Опубликовать в Мой Мир
Опубликовать в Одноклассники
  • Хороший в целом материал, спасибо :).
    Но есть пара замечаний.
    Во-первых, канал ‘A’ в LAB не зелено—красный, а зелено—пурпурный (green-magenta).
    И, во-вторых, фраза об инструменте Curves «базируется на нелинейной математике, в отличие от Level» неправомерна, так как Levels фактически является упрощенным интерфейсом для кривых.

    Приятно. что кого-то еще интересует работа с графикой в среде opensource :).

  • Вас как зовут, Александр или Пётр или, быть может, ещё как?.. А то не угадаешь, мне известны целых двое ваших однофамильцев в GIMP-мире.

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

  • @Станислав Збарасский, меня зовут Станислав :). Так что теперь — трое однофамильцев :).
    Наиболее авторитетный источник — первая глава «Photoshop для профессионалов» Дэна Маргулиса. Он неоднократно упоминает Brightness/Contrast, Levels и Auto Levels, попутно проясняя принцип действия и приводя аналогичные действия кривыми.

    Строго говоря в Levels мы можем управлять только точкой черного, точкой белого и средней точкой мастер-кривой. Плюс автоматически можно установить черную/белую/среднюю точку во всех каналах с помощью пипеток.

  • Приятно познакомиться.

    У всех ли есть эта книга (у меня есть, но ведь почти наверняка в сети есть какие-то работы, на которые можно сослаться)? 🙂

  • Взаимно :).
    Тех, у кого книги нет, сей вопрос волновать не должен… 🙂

    Сетевые источники надо искать, но косвенное описание есть в Википедии http://ru.wikipedia.org/wiki/%D0%93%D0%B8%D1%81%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0_%28%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F%29.
    И совершенно гениальное доказательство есть в самом GIMP (в 2.6, по крайней мере, есть). В нижней части диалога Levels — кнопочка «Edit these settings as Curves»… В общем, эту кнопочку можно использовать для просветления неофитов и прочих хороших людей :).

  • Edit these settings as Curves, кстати, ничего не доказывает. Может быть, там линейная аппроксимация?.. 🙂

  • Не доказывает. Но позволяет предположить с высокой долей вероятности! 🙂