Искусственное повышение резкости. High Pass и Overlay

Oct 28, 2010 14:18

Предыстория: теория, рассуждения и практические выводы, Unsharp Mask, Smart Sharpen. Это та самая часть статьи, которая сегодня кажется мне наивной и по-детски непосредственной. Если вы знаете как работает фильтр High Pass и какой алгоритм использует режим наложения Overlay, можете смело ее пропустить. Желающие повторить эксперимент на рассмотренной в статье картинке могут скачать psd (3,8 мб)

Фильтр High Pass создает «карту нерезкого маскирования» - картинку, на которой отображены воздействия, оказываемые на исходное изображение при нерезком маскировании (подробнее смотри выше рассуждение четвертое). Эту же операцию фильтр Unsharp Mask (как и любой другой фильтр нерезкого маскирования) производит внутри себя, не показывая нам данный промежуточный результат.

Логично предположить, что, скопировав картинку на новый слой, применив к ней фильтр High Pass с Radius=X и задав этому слою режим наложения Overlay (то есть, произведя нерезкое маскирование методом «high pass»), мы должны получить точно такой же результат, какой дает простое применение фильтра Unsharp Mask с установками Amount=100%, Radius=X, Threshold=0. Я провел такой эксперимент и обнаружил, что это не так.

Если интересно, можете повторить его сами: делаем два слоя с одинаковым изображением, производим нерезкое маскирование одного из них при помощи Unsharp Mask, а второго при помощи High Pass, задаем верхнему слою режим наложения Difference. В случае совпадения, картинка должна превратиться в однотонное черное поле. В тех местах, где на нем появляются светлые области, изображения на слоях не совпадают.

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

- Совпадают ли алгоритмы создания «карты нерезкого маскирования», заложенные в фильтры High Pass и Unsharp Mask?

- Если алгоритмы создания «карты» совпадают, то совпадают ли значения параметра Radius, при которых «карты» оказываются одинаковыми?

- Какому значению параметра Amount фильтра Unsharp Mask соответствует «карта», создаваемая фильтром High Pass (100% или нет)?

- Если Unsharp Mask создает «карту», полностью соответствующую «карте» High Pass, то почему не совпадают финальные результаты нерезкого маскирования?

Для ответа на все эти вопросы необходимо выделить «карту нерезкого маскирования» фильтра Unsharp Mask. Сделать это несложно.Для этого потребуются несколько слоев с исходным и обработанным изображением; режимы наложения Darken, Lighten и Difference; корректирующие слои Invert и Curves. Темные и светлые ореолы придется выделять по отдельности, я кратко опишу последовательность для получения темных ореолов. Со светлыми все делается аналогично.



Исходное тестовое изображение (сслой Source)



Изображение после применения USM с параметрами: Amount 100%, Radius 2, Threshold 0 (слой USM_100_2_0)



Накладываем обработанное изображение на исходное в режиме Darken и объединяем эти слои в группу. Таким образом, получаем изображение только с темными ореолами нерезкого маскирования.



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



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



Накладываем поверх корректирующий слой Curves и сдвигаем кривую вниз на половину тонового диапазона (черная точка - Input 128, Output 0; белая точка - Input 255, Output 128). Мы получили «карту» темных ореолов фильтра Unsharp Mask.

Сравним ее с «картой», которую дает High Pass. Они совпадают! Отличия в областях глубоких теней исходного изображения вызваны не различиями в алгоритме формирования «карты нерезкого маскирования», а нашим методом получения «карты» фильтра Unsharp Mask (мы получили ее не «из недр» фильтра, а из результата его действия, поэтому в этих областях сработал эффект насыщения - невозможно затемнить область, когда на исходной картинке она и так черная). Чтобы окончательно убедиться в этом, наложите «карты» от Unsharp Mask и High Pass на исходную картинку и сравните результаты.

Из проведенного исследования можно сделать следующий вывод: алгоритм работы фильтра High Pass по созданию «карты нерезкого маскирования» в точности соответствует алгоритму работы фильтра Unsharp Mask. При этом значения параметра Radius для них совпадают, а «карта», создаваемая фильтром High Pass, соответствует «карте», создаваемой фильтром Unsharp Mask c установками Amount=100% и Threshold=0.

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

High Pass - это обычный фильтр верхних частот (дополнительным к нему фильтром нижних частот является Gaussian Blur), поэтому, с точки зрения радиотехники, классическое усиление резкости - это усиление высокочастотной составляющей изображения, а метод «hiraloam» - усиление высоко- и среднечастотной составляющих. Используя эти два фильтра и режим наложения Linear Light, можно разложить изображение на пространственные частоты, что в некоторых случаях существенно облегчает ретушь.

Так почему же, если «карты» воздействия одинаковы, различны результаты? Да потому, что различны сами воздействия. Алгоритмы режимов наложения Overlay и Soft Light, наиболее часто используемых при реализации метода High Pass, таковы, что ни один из них не имитирует в точности алгоритм наложения «карты» при классическом нерезком маскировании, который реализует Unsharp Mask.

При наложении «карты нерезкого маскирования» на исходное изображение Unsharp Mask вносит изменения линейно. Например, если в соответствии с «картой» область изображения должна быть осветлена (затемнена) на 10 тоновых уровней, она будет осветлена (затемнена) именно на эти 10 уровней независимо от того, какой тон в этой области имеет исходное изображение.

Если вернуться немного назад и посмотреть на рисунки 3, 4 и 5, то станет понятно, что высота горбов на графике (яркость ореолов) зависит только от перепада яркости на контрастном переходе, но не зависит от яркости темного и светлого полей, образующих этот переход. Именно эта особенность работы фильтра Unsharp Mask и порождает проблему проявления светлых ореолов.



Аналогичное воздействие оказывает режим наложения Linear Light, только при этом он еще усиливает его в два раза. Поэтому для точного повторения результата фильтра USM необходимо в два раза понизить контраст «карты нерезкого маскирования» относительно средне-серого тона. Для этого можно положить поверх карты ореолов средне-серую заливку (тон 128) с непрозрачностью 50%, или применить показанную выше кривую.

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



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

Воздействие Soft Light в первом приближении аналогично гамма-коррекции с максимальными значениями гамма-коэффициета: 2 для затемнения и 0,5 для осветления. Так как гамма-коррекция является наиболее визуально комфортным способом изменения яркости, данный режим хорошо подойдет для реализации «hiraloam» нерезкого маскирования.

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

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

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

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

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

Повышение резкости, Теория, overlay, linear light, high pass

Previous post Next post
Up