Фактурная резкость

May 06, 2011 06:23



Задача, которую мы с вами будем сегодня решать, формулируется так:
Как проявить фактуру на более-менее однородных поверхностях (например на стенах зданий), но при этом не испоганить все остальное изображение, при этом сведя к минимуму ручную работу кисточкой.


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

Для решения подобной задачи пользователи довольно часто прибегают к помощи тонмапперов типа фотоматикса, поскольку тонмаппер как раз и занимается разгоном локального контраста (более подробно про это можно почитать в моей статье про Exposure Fusion).

Однако, как вы все понимаете, любые автоматические алгоритмы уступают по качеству продуманной работе в фотошопе.

Размышляя над поставленным вопросом, я пришел к выводу, что решение данной проблемы лежит примерно в той же плоскости, что и алгоритм частотного разложения, любезно открытй публике zhur74, однако после нескольких неудачных попыток с фильтром Hi-Pass я решил действовать несколько иначе.

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

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

После получения маски мы делаем два слоя с исходником:
  • У одного будет инвертированная полученная нами маска - как раз то, что нам надо.
  • У другого - неинвертированная, позволяющая шарпить все за исключением низкоконтрастных областей.

    Для первой мы применяем гипершарпенинг (рычажки по вкусу, но USM где-то в районе 0,3/500/0 или дважды/трижды по 0,2/500/0 - самое оно) тем самым проявляя фактуру.
    Для второй применяем тот шарпенинг, который мы применяем обычно - либо USM, либо смарт, либо скрипт Паши Косенко - по вкусу (тем самым подчеркивая края).

    После мержа получаем результат.

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



    Итак, в качестве подопытного кролика у нас есть вот такая картинка:



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

    Что ж, поехали. Сестра, скальпель!

    Первые три пункта за их очевидностью не иллюстрируем.

    1) Переводим картинку в Lab.
    2) Копируем в буфер канал L.
    3) Конвертим обратно в RGB (Lab нам больше не нужен).
    4) Вставляем поверх оригинала два слоя из буфера, получается вот так:



    5) Жестко шарпим верхний слой:



    6) После шарпенинга ставим ему режим наложения Difference:



    7) Полученный результат моем Гауссом с радиусом 1.0



    8) Дальше безбожно задираем кривыми контраст



    9) И еще раз!



    10) Маска готова! Делаем два дубля оригинала, создаем маски для каждого:



    11) Копируем нашу маску в две созданные маски, и верхнюю сразу инвертируем, слой маски удаляем, он больше не нужен.
    Обратите внимание - здесь я намеренно демонстрирую инвертированную маску, чтоб вы понимали как она выглядит:



    12) Легонько шарпим нижний дубль:



    13) И даем волю рукоблудству с верхним:



    14) Мержим всю нашу котовасию и получаем результат:



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

    Всем спасибо за внимание!
  • адский фотошоп, многабукв, мастер-класс

    Previous post Next post
    Up