Автоматизация установки цветового баланса

Этой публикацией мы открываем новый увлекательный цикл статей “Практическая цветокоррекция”, автором которого является бесспорный авторитет в этой области – Андрей Журавлёв.

Статьи Андрея Журавлёва помогают читателю понять сложный процесс цветокоррекции путём получения фундаментальных знаний и практических навыков.

Предыстория.

Оценивая качество фотографии, все мы, независимо от опытности, опираемся на несколько критериев, среди которых одним из самых важных является отсутствие паразитного оттенка.

Даже не будучи экспертом, любой человек, при взгляде на приведенную ниже фотографию, заметит излишнюю зелень. Конечно, специалист выскажется более определенно, и, возможно, обнаружит еще целый ряд проблем. Но сегодня мы будем говорить только об отсутствии паразитных оттенков, или, другими словами, о правильности цветового баланса.
И разговор этот адресован не экспертам, а рядовым пользователям Photoshop.

Как говорит на своих семинарах Александр Онищенко:

“Мы видим то, что “видит” наш мозг.
Глаз – это только объектив!”

Когда мы находимся внутри реальной сцены, наше зрение адаптируется (привыкает) к условиям освещения. Таким образом мозг устраняет имеющийся у света цветовой оттенок, то есть – автоматически устанавливает баланс белого. Рассматривая на улице лист обычной бумаги, мы воспринимаем его белым. Зайдя с улицы в помещение, освещенное лампами накаливания, мы привыкаем к более теплому свету и продолжаем воспринимать белый лист бумаги таким же белым, как и на улице.

В фотографии (репродукции) не остается света, к которому могло бы адаптироваться зрение наблюдателя, поэтому задача установки цветового баланса перекладывается на нас.

Снимая на цифровую камеру, мы выставляем баланс белого в соответствии с условиями внешнего освещения. Или оставляем его «на автомате», надеясь, что камера сама определит нужное значение. А что делать в случае промаха автоматики? При съемке в raw есть возможность изменить установки цветового баланса в конвертере. На долю снимающих в jpg остается доработка в фотошопе.

Аккуратно цветовой баланс устанавливают при помощи кривых (Curves). Используя белую, черную и серую пипетки, или производя всю работу вручную, цветокорректор избавляется от паразитного оттенка в светах, тенях и средних тонах. Вот как будет выглядеть наше изображение после применения к нему соответствующих кривых.

Кривые — это основной инструмент в арсенале цветокорректора. Я вернусь к этому вопросу в последующих статьях и помогу вам освоить этот замечательный инструмент. Пока могу лишь констатировать: далеко не все пользователи умеют достаточно свободно обращаться с ним. Да, честно говоря, не всем это и нужно.

Поиски белой, черной и серой точек – не всегда простое занятие. Каждая фотография требует персональных настроек. А хочется иметь быстрый и простой рецепт, желательно в виде экшена, требующий от нас минимального участия. Скажем, задать в конце степень внесённых в исходную картинку изменений.

Таким образом, для установки цветового баланса необходимо ответить на четыре вопроса:

  1. Как выделить паразитный оттенок имеющийся в изображении?
  2. Каким методом паразитный оттенок можно убрать?
  3. Как оформить всё это в виде экшена?
  4. Каких граблей мы еще не заметили?

Как выделить паразитный оттенок имеющийся в изображении?

Для начала можно задать еще более общий вопрос: а какой вообще оттенок должна иметь картинка? Если верить художникам, то в сбалансированном по цвету произведении усредненный цвет должен быть нейтральным серым. «А как же быть с такой фотографией?», спросит дотошный читатель.

А очень просто, это изображение имеет явно искусственное преобладание красных цветов, поэтому при дальнейшем рассмотрении мы такие картинки просто оставим за рамками статьи. Да, придется поступить так грубо, наша «таблетка» на них не сработает. Но ведь никого не смущает, что одно и то же лекарство не может лечить и близорукость, и дальнозоркость.

В 1946 году Ральф Эванс, сотрудник лаборатории Eastman Kodak Company, сформулировал принцип, позднее положенный в основу работы большинства машин для печати любительских фотографий: «Цветные отпечатки чаще всего смотрятся лучше не за счет правильного хроматического баланса, но когда серый напечатан серым – это есть управление, приводящее изображение в целом к серому».

Почему речь идет о «любительской» фотографии? Не потому что она плохая, а потому что ее сюжет подразумевает несколько большее разнообразие цветов, чем на приведенной выше картинке. Таким образом сюжеты с радикальным преобладанием каких-либо цветовых тонов автоматически выводятся за рамки нашей беседы.

Если средний цвет «правильной» фотографии должен быть серым, то реальный усредненный цвет покажет нам паразитный оттенок. Получить его можно применив к копии исходного слоя фильтр Filter -> Blur -> Average.

Каким методом паразитный оттенок можно убрать?

Первый вариант давно известен, а в Интернете мне он попался в изложении Мария Нецунски (aka bulka). Статья «два туториала по фотошопу, или обыкновенные чудеса цветокоррекции», способ 2.

Предлагается инвертировать размытый слой, наложить его на исходник в режиме Color и подобрать подходящий вариант уменьшая его непрозрачность. Мы не пойдем по этому пути, потому что он изначально, мягко говоря, не очень хороший.

Для наглядности я задал непрозрачность верхнего слоя 30%. Зеленый оттенок стал слабее, но цветовая насыщенность изображения сильно упала. Это происходит потому, что мы ищем некий средний вариант между исходной цветной и новой, монохромной, (хоть и тонированной в фиолетовый цвет) картинками. Пытаясь решить одну проблему, мы собственноручно порождаем другую.

Самое неприятное, что подавление паразитного оттенка и сохранение насыщенности, диктуют противоположные изменения непрозрачности верхнего слоя. Поднятие насыщенности при помощи Hue\Saturation — вынужденный, но неудачный шаг. Этот инструмент уменьшает насыщенность плохо, а повышает просто отвратительно.

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

Можно пойти другим путем. При помощи пипетки забрать получившийся после применения Average цвет. Он появится в качестве основного (Foreground Color) в палитре Tools.

Выкинуть одноцветный слой (он больше не понадобится), поставить корректирующий слой кривых и взяв серую пипетку щелкнуть по основному цвету (Foreground Color) в палитре Tools.

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

Как оформить это все в виде экшена?

В экшен невозможно вставить ни забор цвета из картинки инструментом Eyedropper, ни установку по нему серой точки в кривых. Установку корректирующего слоя кривых в экшен записать можно, но фотошоп запомнит точную форму этих кривых, а не команду «поставить серую точку по основному цвету». Надо искать альтернативные варианты, но прежде разобраться, почему паразитный оттенок скармливается именно серой пипетке?

Человеческое восприятие устроено таким образом, что именно диапазон средних тонов (яркостей) является для нас наиболее информативным. В средних тонах наше зрение имеет максимальный цветовой охват, именно там мы воспринимаем цвета наиболее насыщенными, лучше различаем яркостные контрасты и мелкие детали.

Установка цветового баланса в средних тонах обеспечивает нас наибольшей информацией о цвете. Если в светах и тенях нет запредельных проблем, паразитные оттенки не особенно сильны, а изображение близко к полноконтрастному, то такой установки будет достаточно для получения приемлемого качества картинки.

Для воздействия на средние тона мы используем режим Overlay. Желающие подробно ознакомится с алгоритмом его работы могут сделать это в моем ЖЖ. Для остальных дам краткое описание: максимальное воздействие Overlay оказывает на средние тона (изменяя их до яркости наложения), а при смещении к теням и светам это воздействие равномерно убывает до нуля.

Чтобы подавить паразитный оттенок в средних тонах, надо внести противоположный ему. Нет ничего проще.

Делаем копию исходного слоя и применяем к ней фильтр Filter -> Blur -> Average.

Инвертируем получившееся изображение Image -> Ajustments -> Invert

Меняем режим наложения получившегося слоя на Overlay и… наживаем проблемы. Чтобы разобраться с ними надо ответить на следующий вопрос.

Каких граблей мы еще не заметили?

Во-первых, исходная картинка не обязательно будет иметь среднюю яркость. Если изображение в целом темнее среднего, результат применения фильтра Average так же будет темнее среднего, а инвертированная версия окажется светлее среднего и вместе с избавлением от паразитного оттенка картинки получит ненужное осветление. Как, собственно, и произошло в разбираемом примере.

Исправить это легко: надо сохранить оттенок (разбаланс в каналах) получившейся плашки приведя ее яркость к средней (по 128 на каждый канал). Перед тем как переключаться в режим Overlay cоздадим слой-заливку (Solid Color) с яркостью 128/128/128 и наложим на слой Source_Average в режиме Luminosity.

Попробовав применить получившийся метод к нескольким изображениям вы заметите на финальной картинке легкий избыток синевы. Почему? Мы исходили из предположения, что средний цвет изображения нейтрально-серый. И если для отдельного фото такое предположение выглядит слегка натянутым, то для множества картинок все представляется логичным.

Если усреднять цвет по очень большому количеству разных кадров, влияние конкретной композиции будет сведено к нулю. В природе все сбалансировано и можно ожидать, что средний цвет окружающего нас мира (и сделанных фотографий) серый.

Однако, это не так. Дэн Маргулис провел небольшой эксперимент, усреднив цвет по нескольким тысячам разных фотографий (он назвал число «более 10.000»), и получил на выходе оттенок a=0, b=5. То есть, слегка желтый. Мы с коллегами предполагаем, что это привет от закона Рэлея.

На практике это следует учитывать, поднимая цветовую насыщенность в Lab: кривая в канале b должна закручиваться несколько слабее, чем в канале a. Иначе теплые тона начинают уходить в желтизну (в книге про Lab этого нет, поскольку ее издали до того, как Дэн обратил внимание на это эффект).

Мы с вами можем учесть это, добавив соответствующий оттенок в нашу плашку. Она имеет яркости в каналах близкие к средней, поэтому удобнее всего будет воздействовать на нее уже знакомым нам режимом Overlay. Наложим в нем слой-заливку цвета 130/128/120 (что соответствует значениям L=54, a=0, b=5).

Все слои-заливки можно объединить в группу и переключить ее режим наложения на Overlay. Готово. На этом можно было бы остановиться, но в некоторых случаях неприятно меняется яркость и яркостный контраст отдельных деталей. Решить эту проблему просто: надо схлопнуть новую версию картинки на отдельный слой и наложить ее на исходник в режиме Color.

Уменьшая непрозрачность этого слоя можно ослаблять коррекцию, подбирая наиболее подходящую на ваш взгляд степень изменений. Если вы внимательно «следили за руками», вам не составит труда записать описанную последовательность в экшен.

А если лень ломать голову, можете скачать мой Action.

Очумелые ручки.

Такой прием хорош когда надо дать пинка собственному мозгу. Наше восприятие относительно, поэтому гораздо удобнее оценивать цвета сравнивая два разных варианта, а не просто рассматривая одно изображение. Этот метод позволяет получить второй вариант (пусть иногда и кривой), и быстрее понять, что было не так в исходнике. В некоторых случаях очень ускоряет процесс анализа. Хорошо подходит для коррекции картинок, когда просто не понятно какими должны быть цвета (съемка на дискотеках, при ночном освещении и т.п.).

Я нередко развлекаюсь, применяя разрабатываемые приемы к подвернувшимся под руку картинкам, а поскольку чаще всего в свободное от написания статей время я брожу по ЖЖ, то и картинки берутся оттуда же.

Я никогда не критикую авторов за цвета, количество морщин на портретах, угол линии горизонта на пейзажах и т.д., полагая, что если мы видим какое-то изображение, значит автор хотел донести его до нас именно в таком виде/цвете/форме/настроении и т.п. Но сравнить варианты «до» и «после» применения экшена бывает интересно.

Кадров с дискотеки у меня не нашлось, но зато подвернулся под руку один безумный по цвету вид Блуа работы Андрея Зейгарника

… пейзаж работы Максима Мармура

… портрет работы Виктора Левитана

… пейзаж работы Федора Юрчихина

… натюрморт работы Сергея Доли

… и пейзаж работы Ильи Генкина

Послесловие.

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

Если некоторые термины и фразы, прозвучавшие в статье, кажутся вам странными и заумными, не смущайтесь. Мы уже договорились с администрацией, и, специально для fototips.ru, в ближайшее время я напишу цикл статей с рассказом о специфике нашего восприятия и вытекающих из этого принципах обработки изображений и работе с кривыми.

До встречи.
Андрей Журавлев (aka zhur74)

  • badfatrat

    Статья понравилась. Особенно на волне увлечения цветокоррекцией. Правда, я по большому счету занимаюсь ей в видео. А цветокоррекция фотографий – это рядом лежащая стезя. Так что буду ждать ваши статьи и читать ваш ЖЖ! Спасибо. 

  • Спасибо. Статьи Андрея это всегда очень интересно.

  • Andrey Zeigarnik

    Это не Париж, а Блуа и над красным так издеваться нельзя!

    • Anonymous

      Точно. Андрей, извини пожалуйста.

      По поводу красного. Я же не обещал, что все цвета станут лучше/правильнее/круче. Тем более, если их через маски доводили.

      Я предлагаю каждому оценить общее впечатление от картинки. На мой взгляд лишняя неприятная синева прибралась.

      А если хочется защитить красный, можно легко сделать маску для крсных тонов и накинуть ее на второй слой.

      • Andrey Zeigarnik

        она неприятная, потому что ты смотришь на картинку как цветокорректор. А я туда естественно впендривал специально.

  • Anonymous

    Конечно может.

  • Anonymous

    Нейтральным для контрастных режимов наложения (в том числе и для Overlay) является цвет 128/128/128. Поэтому именно к нему по яркости приводится серая плашка.

    Отсутствие деталей в чистом черном и белом не имеют к этому никакого отношения. А откуда взялся 133/133/133 вообще загадка.

    Я мог бы понять предложение приводить цвет к 118/118/118, но нам нужна средняя яркость с тчки зрения контрастных режимов, а не наблюдателя.

    • Evgeny-Kart

      133/133/133 – это то ли у Келби, то ли у Маргулиса есть такой совет. Но я тоже его смысла не понимаю

  • Спасибо!

  • Yaromax

    Отлично, спасибо – теперь мои фото будут лучше. Подписался на RSS и добавил в закладки.

  • Антонова Валентина

    Огромнейшее спасибо, Андрей. Класс! Люблю когда цвета на карточках становятся чистыми. А все остальное можно масочкой поправить 😉
    Буду ждать от вас еще статей ))

    • Anonymous

      На здоровье, Валентина. Полагаю, что вам будет удобнее читать статьи здесь, чем в моем ЖЖ.
      Успехов!

  • Антон Дёмин

    Очень интересно! А нас учили подобное делать по методике Скотта Келби.

    New Layer, Edit -> Fill (50% Gray), Difference;
    Create new fill or adjustment layer (Threshold)
    Теперь ищем серую точку и потом заходим в кривые и тыкаем на нее серой пипеткой.

    • Anonymous

      Странно. Если все сделать аккуратно, то после этих операций картинка поменяться вообще не должна. Таким методом можно найти серую в данный момент область. Только какой в этом смысл?

      Для установки точки серого нужна область бывшая нейтральной в жизни, а цвет который она имеет в момент обработки — это и есть паразитный оттенок с которым надо бороться.

      • Антон Дёмин

        Регулируется бегунок на Threshold (в основном около нуля) появляются черные области. Туда ставятся маркеры. Потом удаляются созданные слои и в эти маркеры тыкается пипетка. Как я понимаю, ищутся ближайшие участки на цветной фотографии соответствующие серому цвету.

        • Anonymous

          Правильно, ищутся области максимально близкие к средне-серому на имеющейся фотографии. Только толку от них?

  • Владимир Павленко

    Большое спасибо!Я конечно же многое до конца так и не понял, но цветокоррекцию делать научился.Настоящий клад а не статья

    • Anonymous

      На здоровье. Надеюсь, что последующие статьи помогут вам разобраться в непонятных пока моментах.

  • Anonymous

    Умышлено.
    К сожалению “моргать” jpg’ом невозможно, а параллельное сравнение гораздо менее наглядно.
    Хотя, я внимательно смотрел, по общему ощущению эти кадры не сильно пострадали при сохранении в gif.

    • Ilya

      Можно моргать jpg-ами, можно сделать так же , чтоб вариант после показывалсч пр наведении на картинку. Все это можно сделать при помощи несложной библиотеки jquery, например.

      • Anonymous

        Не могли бы скинуть ссылку на описание “как это сделать”. Можно в личку в ЖЖ.
        Заранее спасибо.

      • Sergey Burov

        Да, тоже как только увидел, подумал, что лучше б jscript сделали.

  • Дмитрий

    >a=0, d=5.
    Ошибка?
    *b

    • Anonymous

      Опечатка, поправили.

  • Igor Bukreev

    Да, это круто! Это хорошо работет, за пару кликов. Попробовал.

  • Anonymous

    Если есть возможность, то лучше отстроить это в конвертере. Только возможность такая есть не всегда и не все человек замечает.

    Кроме того, бывают ситуации когда очень желательно много кадров обработать на автомате, а потом просто проконтролировать результат, подстроив его по необходимости одним движком.

    • Андрей П.

      Так вроде LR для массовой обработки и нужен, один раз настроил ручками, сохранил пресет и готово 🙂

      Спасибо за статью, позновательно.

  • Eresiarh

    Спасибо за интересную статью. Сразу решил попробовать на каком-нибудь произвольном снимке. И вот что странное заметил – форма результирующих корректирующих кривых почему-то зависит от точки, куда ткнешь серую пипетку на усредненном слое. Экран конечно не профессиональный, на экране этот слой визуально равномерного оттенка. Может я что-то не так делаю? 

  • Oleg

    Огромное спасибо за статью. Очень интересно, полезная информация, в частности для меня!

    • Anonymous

      На здоровье.

      • Огромное спасибо!!! Всё очень доходчиво и грамотно расписано!!! Отдельное спасибо за Экшн!!! 

  • Anonymous

    После CS3 в недрах Adobe произошло стихийное бедствие. Возможно, у них появился новый ведущий дизайнер интерфейса, поэтому последний испортили до крайности.

    Проверил, в CS5 такой фокус действительно не срабатывает. Вариантов два:
    100-процентно рабочий — откатиться до CS3;
    возможно рабочий — дождаться CS6, авось поправят этот косяк.

    • В CS5 эта проблема решается очень просто – исключаем лишние действия:
      – создаем усредненный слой, но не убираем его
      – делаем кор.слой поверх и серой пипеткой тыкаем прямо в усредненный слой – кривые прогнутся, как надо
      – и теперь можно удалить усредненный слой
      Просто не делаем лишний действий по забору цвета в палитре – делаем напрямую со слоем.

      Спасибо за статью! Очень полезно.

      • Askol’d

        Елена, спасибо за подсказку:)

  • Igor

    Спасибо, отличная статья. Ценю ваш труд. Будем ждать ваши следующие статьи с не терпением!  
     Было бы не плохо какую-то интересную статью почитать по цвето-коррекции или по ретуши, на примерах людей.

  • Sergey

    Прочитал статью попробовал сделать тоже самое, но получил больше вопросов чем ответов. Попробовал экшен фотографии получаются с синим или зеленным оттенком.

  • Doctor_EVIL

    На приведённых примерах ниже преимущественно лучше варианты ДО

  • Askol’d

    Спасибо за статью

  • Konsta

    Как и все другие, эта статья порадована! Системностью, понятностью и дружественностью. Надеюсь, увидим, таки, книгу. Имхо, давно назрела. Более правильных авторов пока не встречал.
    Вопрос к Андрею. А “фотофильтр” не разложили пока?

    • А зачем? Есть фотофильтр, кому он нравится, тот им пользуется. Нету в нем ничего принципиально интересного чтобы его раскладывать.

  • bozell

    Статья интересная и полезная, но помилуйте разве можно так ругать чужие работы? Я думаю, что авторы специально делали такой цвет! Теплые стаканы и холодный маяк без сомнения… И далеко не факт, что после Вашей обработки они стали лучше или более естественными. Однозначно согласен с зеленым пейзажем, без обработки он был, на мой взгляд, хуже.

    • ganglery

      “Я никогда не критикую авторов за цвета, количество морщин на портретах, угол линии горизонта на пейзажах и т.д., полагая, что если мы видим какое-то изображение, значит автор хотел донести его до нас именно в таком виде/цвете/форме/настроении и т.п. Но сравнить варианты «до» и «после» применения экшена бывает интересно”

      Понимаю, для художника картинка важнее, но читать тоже надо уметь.

  • OleGa87

    Алгоритм команды auto color имеет с этим что-то общее ?

    • Не знаю, никогда не выяснял алгоритм работы auto color, но простой тест на фото с машиной показал, что нет.

      • OleGa87

        Андрей, благодарю за оперативный ответ! Не первый день пытаюсь переварить определение команды auto color: “Находит среди самых светлых и самых темных пикселов изображения пикселы
        со средними значениями и использует их для максимизации контраста с
        минимизацией отсечения” и при этом еще “нейтрализует средние тона, используя в качестве цели серый цвет RGB 128”, но все эксперименты проводимые мной над этой командой не поддаются объяснению. Повторить вручную действие команды auto color так и не получилось.. Принципиальный интерес, так сказать.

  • Совпадение говорит о том, что мой метод работает хорошо. А асфальт есть далеко не на всех кадрах. Бывает вообще ничего серого нет и пипеткой тыкать некуда. А экшен работает.

  • Vitaliy Rice

    Спасибо за пипетки! До этого момента относился к ним осторожно, как к лабораторному оборудованию. Сейчас пипечу что ни попадя! :*)