ФОТОКОНКУРС
Рейтинг@Mail.ru
 
СТАТЬИ ДМИТРИЯ НАУМОВА
 

СТАТЬИ:
Маска насыщенности в ФотоШопе


МАСКА НАСЫЩЕННОСТИ В ФШ

Далее насыщенностью буду называть обычную фотошоповскую цветовую насыщенность, saturation. При обработке иногда хочется увеличить или уменьшить диапазон насыщенностей разных мест картинки. Например, на тусклом зимнем пейзаже каким-то цветным объектам насыщенность добавить, а окружающим снежным просторам снизить, а то ведь снег часто слишком синий. Подобные вещи нетрудно сделать, если суметь выделить наши объекты. Нынче модны и часто встречаются сюжеты, где автор успешно делает цветовую операцию с единственным чётко обособленным объектом – делает его насыщенным, а остальное десатурирует; но лассо - не наш путь. Ведь мы хотим суметь сделать что-то подобное и, например, с синеньким домиком, проглядывающим сквозь густое сплетение слабоокрашенных заснеженных веток.

В таких (и наверное в каких-нибудь ещё) случаях хотелось бы уметь создать маску выделения насыщенных областей, полученную не ручным выделением, а автоматически из самого исходного изображения. Разумеется, потом эту маску можно как угодно подчищать и, например, регулировать кривыми. Вот собственно и вся постановка вопроса. Далее предлагается конкретный вариант такой автоматизации. Мне не встречались в книжках или инете ни этот вариант, ни другие; но вероятно они существуют. Было бы интересно увидеть ссылки, сравнить.

Буду говорить только для RGB. Итак, мы хотим выделить цветонасыщенные области на картинке. Будем исходить из такой трактовки: насыщенные области - это места, где велики разности цветовых каналов. Эту трактовку предлагаю без доказательства, просто потому, что в ненасыщенных серых точках все три канала равны. Поэтому заслуживает проверки такой алгоритм: составить все попарные разности каналов и сложить их модули. Отмечу, что попарных разностей всего три; знаки в ФШ неразличимы, т.е. в качестве разностей каналов сразу и получаются модули.  Ну а разности легко реализуются режимом "разница" после копирования содержимого цветовых каналов RGB в отдельные слои. Последующее их суммирование - на чёрный нижележащий слой в режиме "экран".

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

Разумеется, для систематического употребления предлагаемой операции нужно сделать action, т.к. шагов довольно много. Мой вариант в готовом виде прилагается в файле satur2.atn.  Правда, нет никакой гарантии совместимости с разными версиями ФШ; этот вариант сделан в CS2_rus. При успешном прохождении процесса возникает новый слой в оттенках серого, на котором более светлые области соответствуют более насыщенным областям исходного изображения.

В качестве примера использования (без особых претензий) могу предложить картинку http://club.foto.ru/gallery/photos/photo.php?photo_id=553539. На ней значительно повышена насыщенность нужных элементов, а для остальных понижена. Результат сильно отличается от тусклого исходного изображения.

Дмитрий Наумов 
denspam@inbox.ru

<Обсудим на форуме>