Искусственное повышение резкости. Фильтр Unsharp Mask

Oct 21, 2010 12:02

Продолжаем разговор. Теорию мы знаем, практические выводы из нее сделали, пора начинать крутить движки. Встречать новые проблемы и разбираться с ними. Желающие повторить эксперимент на рассмотренных в статье картинках могут скачать psd (18,3 мб).


Инженеры Adobe сильно удружили нам, избавив от необходимости дублировать изображение, размывать и инвертировать его, подбирать режимы наложения и значение параметров для них, одним словом - повторять весь набор операций метода «нерезкой маски». Хотя, пытливые натуры ради интереса могут выполнить такое упражнение самостоятельно. Готовый алгоритм представлен в виде фильтра «Unsharp mask» (Filer \ Sharpen \ Unsharp Mask). Рассмотрим его интерфейс и параметры с учётом описанной выше математической модели.

На рисунке 7 приведен внешний вид интерфейса фильтра Unsharp Mask и вид яркостной кривой, приблизительно соответствующий заданным для фильтра установкам.



Параметр Amount.

Определяет силу воздействия фильтра (высоту «горбов» на графике). Измеряется в процентах. Это «плотность» наложения «карты» нерезкого маскирования. В нашей модели - коэффициент, на который умножается график с рис. 3.2 перед сложением с графиком исходного изображения. Имеет диапазон от 1 до 500 с шагом 1%. Конкретное значение определяется тремя факторами.

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

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

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

Характерные значения (приблизительные):
- меньше 100% - для нерезких исходных изображений или для метода «hiraloam» (будет разобран ниже) при больших значениях параметра Radius, или для очень резких изображений, которым надо добавить немного «звонкости»;
- от 100% до 200% для достаточно резких и детализированных исходных изображений при малых значениях параметра Radius;
- больше 200% - при селективном применении фильтра к отдельным областям контрастных контуров, отдельным каналам и т.п.

Параметр Radius.

Определяет степень нерезкости маскирующего изображения, задает ширину создаваемых вдоль контрастного контура ореолов. Измеряется в пикселях. Аналогичен параметру Radius фильтра Gaussian Blur при «ручном» выполнении алгоритма нерезкой маски. Имеет диапазон от 0,1 до 250 с шагом 0,1. Конкретное значение определяется степенью нерезкости изображения: средней шириной зоны контрастных переходов на художественно значимых элементах изображения.

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

Характерные значения (приблизительные):
- меньше 1 - для очень резких изображений, которым нужно добавить легкую «звонкость», или при селективном применении фильтра с очень большим значением параметра Amount;
- от 1 до 2 - для достаточно резких и детализированных изображений при средних значениях параметра Amount;
- от 2 до 10 - для нерезких изображений при малых занчениях параметра Amount;
- от 10 до 30 - для очень нерезких изображений, когда отступать некуда;
- больше 30 - при такой настройке работа фильтра практически не имеет отношения к повышению резкости, но может быть использована для повышения контрастности изображения, придания ему объема и рельефности (метод «hiraloam»).

Дополнение от skitalets-1961
«С этим параметром все интуитивно понятно. Он определяет ширину ореолов вокруг границ и измеряется в пикселях от 0 до 250 с шагом 0,1. Однако следует учитывать то, что яркость ореола убывает по гауссиане. Поэтому, полная ширина ореола будет равна не значению, заданному параметром Radius, а в два с половиной раза больше. То есть, если мы задали радиус равным 10 пикселям, полная ширина ореола будет равна 25 пикселям. Благодаря этому и можно задавать значения радиуса менее 1 пикселя. Что на первый взгляд кажется полной чушью».

Параметр Threshold (порог).

Бонус пользователям со стороны компьютерного прогресса. В классическом «пленочном» нерезком маскировании аналога не имеет. Алгоритм работы аналогичен «отсечкам» в других инструментах Photoshop: программа анализирует перепад яркости на границах контрастного перехода (высоту H) и, если он оказывается меньше заданного порога, данный переход исключается из обработки, и ореолы вдоль него не добавляются. Предназначен для предотвращения усиления шума.

Измеряется в уровнях (levels). Один уровень соответствует минимальной разнице между тонами изображения при 8-битном режиме кодирования. Имеет диапазон значений от 0 до 255 с шагом 1. Поскольку компьютер не способен отличать «художественные детали» от «паразитных шумов», он просто отбрасывает из рассмотрения все слабые тоновые переходы, характерные для наиболее мелких деталей изображения. Поэтому, чем большее значение вы зададите параметру Threshold, тем меньше мелкой детализации не картинке подвергнется усилению резкости.

Замечание. Это еще одно «простое и легкое для понимания» неправильное объяснение. В действительности фотошоп не анализирует перепад яркости на исходном изображении, а убирает перепад заданной величины с карты ореолов. При этом слабые ореолы (на мало контрастных границах) исчезают, а все остальные искажаются. Причем, достаточно неприятно. Когда найдется время, я опишу процесс нерезкого маскирования при помощи Gaussian Blur, а заодно и промежуточную коррекцию кривыми, аналогичную действию Threshold.

Характерные значения привести сложно, так как степень зашумленности и характер шумов, а также контраст деталей для разных изображений могут существенно отличаться. Можно только привести пару общих рекомендаций. Первая: даже на очень «вылизанных» (вручную или при помощи специальных программ-шумодавов) картинках остается множество случайных тоновых переходов, поэтому не оставляйте данный параметр равным 0, ставьте минимальное значение 1 или 2. Вторая: чем менее резкой является картинка и, соответственно, чем большее значение вы задаете параметру Radius, тем больше на ней «съедается» мелких деталей и тем большим можно задать параметр Threshold.

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

Проблемы, возникающие при применении USM и методы их решения

Цветные ореолы

При работе с черно-белой картинкой на граничных ореолах меняется только один параметр: яркость. В начале работы с цветным изображением мы ожидаем аналогичного результата, но с удивлением обнаруживаем, что ореолы начинают приобретать паразитную окраску. Происходит это по следующей причине: фильтр Unsharp Mask обрабатывает каждый канал в отдельности, как обычную черно-белую картинку. То есть, воздействие на каждый канал происходит не в соответствии с общей «картой нерезкого маскирования», а в соответствии с собственной «картой» канала.



На рисунке 8 приведен пример границы между серым и зеленым цветами (композитный канал RGB и поканальные изображения в градациях серого) и результат применения к этой границе фильтра Unsharp Mask со следующими параметрами (сильно завышены для наглядности): Amount 500%, Radius 10 pixels, Threshold 3 levels.

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

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



Избавиться от такого эффекта несложно. Надо обеспечить воздействие на все каналы в соответствии с единой «картой нерезкого маскирования», то есть, в каждой точке все каналы должны одновременно осветляться или одновременно затемняться на одну и ту же относительную величину (сколько-то процентов от исходного тона канала). Таким образом, цветовой тон сохранится, а яркость изменится. Одним словом: надо повышать резкость яркостной составляющей, не затрагивая цветовую. Есть два варианта сделать это, оставаясь в пространстве RGB.

Первый: после применения фильтра задать команду Edit \ Fade Unsharp Mask с параметрами: Opacity - 100%, Mode - Luminosity. Эта команда позволяет изменить степень воздействия и режим наложения последней выполненной операции. Заодно, если вы считаете, что переборщили с силой нерезкого маскирования, можете уменьшить Opacity до получения визуально удовлетворительного результата.

Второй: продублировать исходное изображение в новый слой, применить к дубликату нерезкое маскирование и изменить режим наложения на Luminosity. Меняя для него параметр Opacity, также можно уменьшить степень воздействия нерезкого маскирования.

Ниже приведен увеличенный в четыре раза фрагмент предыдущей картинки: слева - исходник; в центре - после применения USM с установками Amount 200, Radius 1, Threshold 1; справа - после изменения режима наложения на Luminosity.



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

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

Если вы не привязаны к RGB (а такая привязка может быть, если, например, ваш файл имеет слои с различными режимами наложения или корректирующие слои, и вы не хотите объединять все это в один слой), можно перевести изображения в Lab и применить фильтр только к каналу Lightness. Этот прием известен давно и применяется весьма активно. Кроме того, как метко подметил Дэн Маргулис в своей книге «Photoshop LAB Color. Загадка каньона и другие приключения в самом мощном цветовом пространстве», он позволяет решить (или, как минимум, уменьшить) еще одну проблему: проявление светлых ореолов.

Проявление светлых ореолов

Эта проблема была описана ранее (см. «рассуждение 3»). Как правило, темные ореолы менее заметны, чем светлые, поэтому допускают более сильное воздействие без разрушения оптической иллюзии. Ниже приведена картинка и ее центральный фрагмент в масштабе 100%.





Слева - исходная версия. В центре - после применения USM с установками Amount 200, Radius 2, Threshold 1. На колбасе появился неприятный светлый дребезг, а на разделочной доске явно заметны светлые ореолы вокруг кружков колбасы и ручки ножа. При этом темные ореолы в глаза не бросаются. Справа - интенсивность темных ореолов сохранена, а светлых понижена в два раза.

Для раздельного наложения темных и светлых ореолов можно воспользоваться следующим приемом. Скопируйте слой; примените к нему фильтр Unsharp Mask с параметрами, подходящими для темных ореолов (не обращайте внимания на светлые, позже мы ослабим их воздействие); дайте команду Edit \ Fade Unsharp Mask с параметрами: Opacity - 100%, Mode - Luminosity (см. предыдущую проблему); на палитре Layers задайте для текущего слоя режим наложения Darken; скопируйте его и задайте для нового слоя режим наложения Lighten.



В результате мы имеем файл, состоящий из трех слоев (снизу-вверх): исходный неизмененный слой (Source); слой с усиленной резкостью, затемняющий исходную картинку в местах расположения темных ореолов (USM_200_2_1_Darken); аналогичный слой, высветляющий исходную картинку в местах расположения светлых ореолов (USM_200_2_1_Lighten). Изменяя на палитре Layers значение параметра Opacity для второго и третьего слоев, вы можете уменьшать степень воздействия светлых и темных ореолов по отдельности.

Если работать в Lab и увеличивать резкость только в канале Lightness, проблема светлых ореолов может не возникнуть вовсе или возникнет гораздо позже (при более сильном воздействии), чем в RGB. Не совсем корректно, но очень образно данный вопрос описан Маргулисом в пятой главе «Каньонов». Связано это со спецификой построения пространства Lab и преобразования его цветовых координат в аппаратные данные RGB.

Строго говоря, Lab в том виде, в каком он существует сейчас, является математической абстракцией (простой декартовой координатной сеткой) и кубик со сторонами L, a и b не соответствует цветовому охвату человеческого зрения, а существенно превышает его. Таким образом, получается некоторое количество абстрактных сочетаний значений L, a и b, которые задают точки, не попадающие в цветовой охват человеческого зрения и, следовательно, не соответствующие никаким цветам (ни «реальным», ни «мнимым»). При переводе в RGB программа вынуждена загонять эти точки в цветовой охват человека и сопоставлять им некоторые цвета.

Эта недоработка в построении Lab и алгоритме пересчета цветовых координат и позволяет обойти проблему чрезмерного проявления светлых ореолов. Желающим более подробно разобраться в этом вопросе рекомендую прочесть статью Алексея Шадрина «Воспитание по доктору Маргулису или 20 мифов полиграфии» (тезис 8).

Усиление шумов

Шумы в цифровом изображении присутствуют всегда. Они порождаются как чисто техническими проблемами (зерно пленки, рефлексы при сканировании отпечатанных на глянцевой рельефной бумаге фотографий, шум и неоднородность характеристик полупроводников матрицы цифровой фотокамеры и т.д.), так и структурой поверхности моделей (шероховатость материла, поры кожи и т.п.). По большому счёту, мы можем назвать «шумом» любую мелкую деталировку изображения, не соответствующую нашему художественному замыслу. Борьба с шумами - это отдельная большая (даже необъятная) тема. Перед нами же стоит более узкая задача.

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

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

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

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

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

На практике это можно реализовать, прорисовав зоны применения Unsharp Mask вручную, или сформировать их автоматически при помощи фильтров.

Ручная прорисовка (вариант 1)
Дублируем изображение в новый слой. Применяем Unsharp Mask к верхнему слою. Добавляем к нему маску Layer \ Layer Mask \ Hide All (замаскирует весь слой). По маске кисточкой с мягкими краями белым цветом прорисовываем области, в которых необходимо поднять резкость, восстанавливая «отшарпленное» изображение верхнего слоя.

Ручная прорисовка (вариант 2)
Дублируем изображение в новый слой. Применяем Unsharp Mask к верхнему слою. Добавляем к нему маску Layer \ Layer Mask \ Reveal All (оставит незамаскированным весь слой). По маске кисточкой с мягкими краями черным цветом прорисовываем области в которых не нужно поднимать резкость, маскируя «отшарпленное» изображение верхнего слоя.

Работа с отдельным слоем и накинутой на него маской гораздо удобней, чем, например, работа с History Brush в единственном слое или вытирание верхнего слоя ластиком - в любой момент есть возможность поправить области применения Unsharp Mask. А работая кистью с нестопроцентной Opacity, можно добиться разной интенсивности усиления резкости на различных областях. Выбор варианта - стирать или прорисовывать зоны поднятия резкости - зависит от изображения (каких зон меньше) и ваших личных пристрастий.

Автоматическое формирование зоны действия Unsharp Mask

Все действия аналогичны описанным выше, только маска не рисуется вручную, а готовится при помощи какого-нибудь фильтра, выделяющего области контрастных контуров. Чаще всего применяют фильтры Glowing Edges или Find Edges из группы Filter \ Stylize. Чтобы сформировать маску, дублируем исходное изображение в новый слой. Применяем к этому слою фильтр Glowing Edges. Он имеет три настройки.

Edge Width - задает ширину области свечения вдоль контрастных контуров. Примерный диапазон эффективных рабочих значений для картинок размером 5-20 мегапикселов - 5-15, при меньших значениях недостаточно подсвечиваются основные контуры, при больших - слишком активно подсвечиваются слабые контуры мелких объектов.

Edge Brightness - задает яркость свечения. Примерный диапазон эффективных рабочих значений - 4-10. Определяется теми же условиями, что и для предыдущего параметра.

Smoothness - производит сглаживание контрастных контуров перед формированием зоны свечения: чем больше этот параметр, тем более контрастным должен быть контур, чтобы фильтр сформировал вокруг него свечение. Примерный диапазон эффективных рабочих значений - 8-15.

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

Для смягчения границ маски применяем фильтр Gaussian Blur (подходящие значения параметра Radius обычно лежат в диапазоне от половины до целого значения параметра Edge Width предыдущего фильтра). На палитре Channels кликаем на композитный канал при зажатой клавише Ctrl. Сохраняем полученное выделение (это и есть заготовка для маски). Удаляем слой, к которому применяли Glowing Edges, он больше не понадобится. Вместо слоя можно использовать самый контрастный канал, продублировав его и произведя с ним все описанные выше операции. Если работа ведется в модели Lab, используется канал Lightness.

Фильтр Find Edges не имеет настроек и сразу выдает светлую картинку с тонкими темными следами вдоль контрастных контуров исходного изображения. При работе с композитным изображением такая картинка формируется для каждого канала в отдельности, в результате на экране эти следы могут выглядеть цветными. В этом случае картинку можно просто обесцветить (Ctrl-Shift-U) или получить ч/б изображение за счет смешения двух наиболее подходящих каналов (команда Image \ Calculations).

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

С полученной таким образом маской часто применяют не совсем обычные установки фильтра Unsharp Mask. В результате действия Glowing (Find) Edges контрастные контуры выделены достаточно точно и область выделения вокруг них относительно невелика. Поэтому увеличение параметра Radius фильтра Unsharp Mask имеет предел, после которого не происходит визуального увеличения резкости: когда ширина ореолов достигает ширины зоны выделения маски, ее дальнейшее увеличение прекращается, так как оказывается в замаскированной области.

С другой стороны, поля за пределами узких областей вдоль контрастных контуров хорошо замаскированы, и даже при больших значениях параметра Amount на них не происходит усиление шумов. Таким образом, мы можем использовать Unsharp Mask с большим значением Amount (я часто задавал максимум 500%) и добиваться необходимого визуального эффекта, изменяя значение параметра Radius (чаще всего оно лежит в диапазоне от 0,3 до 0,8).

При таких установках в зоне контрастных контуров формируется картинка, похожая на результат работы разнообразных фрактальных «чудо-увеличителей» изображения (вроде PhotoZoom Pro или Genuine Fractals). А именно: изображение забивается шумами, визуально воспринимаемыми, как дополнительная мелкая деталировка изображения. В некоторых случаях эти дополнительные шумы «работают на нас» (например, при последующем полиграфическом тиражировании картинки), но надо четко понимать: это шумы - и ничего более.

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

Запущенный легкой рукой Маргулиса, по миру пошел гулять следующий прием: после общего увеличения резкости всего изображения дополнительно поработать с его слабым (самым светлым) каналом. В случае CMYK-изображения таких каналов оказывается два: черный и, как правило, Cyan. В случае RGB-изображений таким каналом обычно бывает Red. Я уже писал, откуда берет начало этот прием: желание сэкономить при использовании аналогового процесса.

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

Во-первых, многократное применение нерезкого маскирования создает очень неприятное «дребезжание» в изображении (см. рассуждение второе). Его легко заметить при сравнительном анализе: сделайте две копии изображения; к первой примените нерезкое маскирование с «сильными» настройками (достаточно большими значениями); ко второй копии два раза примените нерезкое маскирование со «средними» настройками, добившись примерного визуального соответствия усиления резкости с первым изображением, и сравните их. Конечно, в данном случае все определяется очень субъективными критериями оценки «на глаз»: вижу - не вижу разницу, существенная - не существенная эта разница и т.д., но на мой взгляд разница есть и она весьма заметна.

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

Во-вторых, применение нерезкого маскирования к «цветному» каналу неизбежно приводит к появлению цветных ореолов. При работе в CMYK с черным каналом такая проблема не возникает, но нерезкое маскирование любого другого слабого канала CMYK, или вообще любого канала RGB, неизбежно породит ее. У нас уже есть метод решения: производить все операции с копией слоя, поставив его наложение на исходную картинку в режиме Luminosity, но если вы захотите поманипулировать яркостью темных и светлых ореолов по отдельности, вам придется строить довольно громоздкую конструкцию из нескольких слоев.

Про метод «HiRaLoAm» (High Radius Low Amount)

Данный метод был придуман достаточно давно, поэтому его описание часто встречается в Интернете, а приведенное здесь название взято мною из книги Дэна Маргулиса (врезка на стр. 135 русского издания «Каньонов») просто для удобства. Его идея в следующем: нерезкое маскирование применяется с экстремально большим значением параметра Radius (более 20) и низким значением параметра Amount. При этом ширина ореолов становится существенно больше ширины контрастных переходов (и даже больше размеров отдельных элементов изображения), они накладываются друг на друга и образуют собственный светотеневой рисунок. Немного забегая вперед, подскажу: если вы хотите посмотреть на этот рисунок, примените к изображению фильтр High Pass с аналогично большим значением Radius.

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

Таким образом мы усиливаем не микроконтраст (в малой окрестности контрастных переходов), а локальны контраст (контраст объектов, равных или меньших по размеру, чем радиус размытия нерезкой маски). Другими словами, усиливаем cредние частоты изображения.

Светотеневой рисунок, получившийся при взаимодействии ореолов друг с другом, накладывается на картинку, поднимая контраст деталей и придавая элементам изображения дополнительный объем. Этот метод уже можно отнести к достаточно изощренной (не по сложности выполнения, а по сложности изменений, вносимых в изображение) тоновой коррекции. Ниже приведен тот же самый колбасный натюрморт после применения USM с параметрами: Amount 40, Radius 40. Ощущение объема увеличилось.



Хотя это и не способ поднятия резкости, результаты он дает интересные и часто впечатляющие. Если они вас устраивают - пользуйтесь на здоровье. Однако не надо забывать про бесплатный сыр, семь шапок из одной овцы и прочие народные мудрости про благие намеренья и легкие дороги. В общем: из ничего не будет ничего! Если объект в изображении «плоский» и не имеет своего собственного светотеневого рисунка, передающего форму, такой рисунок не появится «из ниоткуда» просто по мановению волшебной палочки, особенно такой тривиальной (с точки зрения математического алгоритма), как Unsharp Mask. Давайте сравним реальный качественный светотеневой рисунок и тот, что поставляет нам Unsharp Mask.

Возьмите черно-белый портрет с нормально прорисованной формой лица. Можете даже проделать этот эксперимент отдельно для портрета на белом и на черном фоне. Портрет - потому что лицо человека является привычным для нас объектом, то есть, каждый наблюдатель гарантированно знает, как оно должно выглядеть, и имеет достаточно сложную форму, которая всем знакома и легко распознаваема. Черно-белый - потому что так проще оценить светотеневой рисунок.

Сделайте копию файла и примените к ней фильтр High Pass с большим значением параметра Radius, чтобы ореолы не выглядели отдельными друг от друга элементами, а образовали новое полутоновое изображение. Сравните светотеневой рисунок получившегося изображения с исходным. Вам сразу станет понятно, что «hiraloam» выдает не реальное изображение, а «морок», зазеркальный сказочный объект, не существующий в действительности (как «Водопад» или «Бесконечная лестница» Морица Эшера). Никак не получится осветить реальное лицо человека таким образом, чтобы получить аналогичный светотеневой рисунок.

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

В следующий раз продолжим разбираться со стандартными инструментами Photoshop.

В качестве иллюстраций использованы изображения из роялти-фри библиотеки «Corel Professional Photos».

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

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

Для коммерческого использования или перепечатки с внесением изменений необходимо согласование с автором. Связаться со мной можно по электронной почте zhur74@livejournal.com

© Андрей Журавлев (aka zhur74), ноябрь 2008 г.
Редакция вторая (октябрь 2010 г.) переработанная и дополненная.
Первая публикация http://www.microstock.ru/forum/showthread.php?t=3499

Повышение резкости, unsharp mask, Практика

Previous post Next post
Up