«Интересно, а в Adobe знают обо всех возможностях фотошопа?»
Народная фотошоперская шутка.
Когда я приступил к работе над этой статьей, я даже не предполагал, чем все это закончится. Но впрочем, не будем забегать вперед…
Резкость - это контраст и ширина границы перехода.
В реальной жизни резкость – один из важных эффектов, позволяющий нам ориентироваться в окружающей среде.
С помощью оценки степени резкости/размытия мы определяем, какой объект от нас находится дальше, а какой – ближе.
По одному только взгляду на предмет без проведения химического анализа, мы в состоянии определить материал, из которого сделан предмет, а в основе такого визуального анализа – оценка микроконтраста фактуры поверхности.
Осознавая только два этих фактора (резкость на границах между объектами и микроконтраст фактуры), уже можно избежать несколько типичных ошибок в обработке снимков, и одновременно повысить реалистичность их восприятия.
Например, чересчур резкая граница между объектами, изображенными на снимке на разном расстоянии от наблюдателя, может создать ощущение «вклеенности» или как часто выражаются «вшопленности» объекта.
Очевидно, что на блестящих предметах (отполированный металл, стекло) микроконтраст выше, чем на матовых (резина, неполированное дерево). Отсюда практический вывод – резкость надо повышать на изображениях блестящих предметов и приглушать на матовых. Сделайте выше резкость на глазах «портретируемого», и вы увидите, как «заиграет» портрет вашей «фотокисти». Сделайте разумное размытие кожи дамы, и заказчица (или любимая женщина) будет довольна. Наоборот, если вы подчеркнете все недостатки ее кожи, последствия могут быть самые непредсказуемые.
Оценивая резкость фотографии мы сравниваем изображение с «эталонным» изображением, зафиксированном в нашей памяти. В зависимости от того, насколько «картинка» похожа на восприятие реального мира, мы оцениваем степень резкости фотографии. Соответственно резкость на снимке может быть недостаточной, оптимальной, избыточной.
Если контраст низкий – это может означать, что объекты в тумане или находятся на удалении от наблюдателя по сравнению с основным объектом на снимке. В изображениях гладких металлических или стеклянных предметах граница перехода достаточно узкая, а в матовых – широкая.
Итак, резкость – это контраст (соотношение между «светлым» и «темным» ) и ширина границы перехода.
Контраст снимка, локальный контраст, микроконтраст – эти понятия различаются размером участка анализируемой площади, соответственно, весь снимок, его небольшая часть (контраст между объектами или частями объектов на снимке) и характер фактуры поверхности.
Резкость и детализация
Следует четко разделять два этих понятия. Резкость – это, прежде всего контраст, а детализация (для объективов еще применяется термин «разрешение») – это количество «полезной информации» на единицу площади изображения.
Как правило, усиление резкости ухудшает детализацию, в силу причин, изложенных ниже.
Резкость и размытие как двуликий Янус.
Как ни странно звучит, но в основе почти всех алгоритмов повышения резкости лежит размытие.
Основные этапы повышения резкости
- Размытие изображение (применяются различные виды размытия, а также сдвига изображения)
- Сравнение с оригиналом (выделение разницы на границах перехода)
- Наложение в определенном режиме полученной разницы на оригинал.
Рассмотрим детальнее, что происходит при усилении резкости:
1. Создадим изображение, состоящее из четырех граничащих квадратов – черного, белого, светло-серого и темно-серого, каждый 50 х 50 пикселей, всего – 200 х 200 пикселей.
РИСУНОК 1
Граница между областями четкая до пикселя (рассматривать следует при максимальном увеличении 3200%).
Теперь размоем нашу картинку (фильтр размытие по Гауссу) с параметром 0.3 пикселя.
РИСУНОК 2
Фильтр USM («unsharp mask» или «нерезкая маска») с радиусом 0.2 или 0.3 позволяет восстановить размытую границу между белым и черным квадратом до прежнего уровня, но для других границ возникают «артефакты» в виде светлых и темных ореолов, которые зрительно увеличивают контраст, но фактически «портят» исходное изображение. Светлые и темные ореолы шириной один пиксель и на расстоянии один пиксель от границы.
РИСУНОК 3

Если уменьшить увеличение картинки до 100%, видно, что получился довольно приемлемый результат: визуально получилась очень резкая граница перехода с почти незаметными ореолами.
РИСУНОК 4

Остановимся на варианте с приемлемым вариантом. И попробуем снова применить USM. Что мы видим – ширина перехода увеличилась на пиксель с каждой стороны границы, изображение стало «грязнее».
РИСУНОК 5

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

У нас получилась граница перехода в четыре пикселя. Применение USM восстанавливает (и усиливает) исходную яркость только на внешней границе – внутренние два пикселя остались размыты. И никакой подбор параметров не позволит избежать этого. Если первоначальное изображение было размыто с еще большим радиусом, то результат по восстановлению резкости будет еще более плачевным.
РИСУНОК 7
Аналогичный результат дает алгоритм по high-pass (дублировать слой, фильтр high-pass, обесцветить, слить слои).
«Великим Дэном» (помимо рекомендаций по усилению резкости в яркостном канале в Lab, и усиления резкости в слабых каналах) был предложен интересный алгоритм повышения резкости, используя только фильтр «размытия по Гауссу».**
Алгоритм длинный (23 шага) и для того, что его легче было понять читателю, подробно прокомментирую его: Начинаем работу в пространстве RGB, поскольку в других пространствах работают не все нужные нам инструменты.
Прием 1:
Создаем три копии слоя (четвертый слой – исходный сохраняем без изменений). Верхний слой накладываем в режиме «Difference». Средний слой размываем по Гауссу с радиусом от 0.2 пикселя до… Радиус зависит от целей – маленькие значения нужны для повышения резкости, большие уже для «придания объема». Если теперь слить три слоя (Merge layers) получится черная картинка с еле заметными белыми контурами. Полученный полуфабрикат уже можно использовать в полезных целях. Но перед этим его надо усилить, для чего создаем две его копии, которые сольем с ним в режиме «Screen».
Теперь, если этот слой наложить на исходный в режиме «Screen» на первоначальный, контуры объектов станут гораздо светлее, при этом «ширина» светлых объектов увеличится, а темных, соответственно, сократится.
Если же этот слой инвертировать и наложить на первоначальный в режиме «Multiply», контуры объектов будут затемнены, темные объекты станут «шире». Например, с помощью этого приема можно «накрасить» ресницы (если по каким-либо причинам модель не сделала этого тушью).
Прием 2а:
Нам надо разделить границу на две части – темную и светлую.
Также как в первом приеме создадим три копии слоя. Верхний слой в режиме «Difference», средний слой размываем по Гауссу и устанавливаем режим смешивания «Darken». Сливаем три слоя, усиливаем с помощью копий, наложенных в режиме «Screen». В результате если полученный слой наложить на исходное изображение в режиме «screen», мы получим «усиленную» светлую половину границы. Назовем этот слой «Light border».
Прием 2б:
Если средний слой накладывать в режиме не «Darken», а «Lighten», а после слияния его инвертировать, и усиливать с помощью копий в режиме «Multiply», то получим «темную» половину границы. Назовем слой «Dark border».
Если по отдельности применить приемы 2а и 2б, получим два корректирующих слоя, которые по своему действию аналогичны фильтру «smart sharpening» - мы можем раздельно управлять светлой и темной частью границы усиления. Но у такого «ручного рецепта» помимо образовательной роли (читатель, самостоятельно повторив его, сможет лучше прочувствовать инструменты повышения резкости), есть еще один полезный аспект – кисточкой с белым или черным цветом, можно вручную стереть ненужную белую или черную границу объекта.
Итак, мы получили два слоя, с помощью которых можно регулировать силу резкости по светлой и темной стороне раздельно. Получился интересный инструмент (правда довольно сложный для понимания и запоминания), который можно записать с помощью экшена. Собственно на этом, я планировал закончить статью, от себя добавив, что корректирующие слои лучше всего обесцветить, перевести в пространство Lab, где и осуществить слияние, предварительно сделав копию для повторного усиления резкости после приведения изображения к нужному размеру.
В предложенном варианте алгоритма «23 шага» Маргулис предлагал радиус размытия для «темной» границы 2.0 пикселя и для «светлой» границы 1.5 пикселя. Естественно эти параметры не догма, а возможность для экспериментов с радиусом размытия и количеством слоев для усиления эффекта.
Еще можно регулировать применение резкости условным смешиванием (blend if) например, в зависимости от цвета изображения можно ограничить применение резкости для телесного цвета – в портретах, или в темных областях – как наиболее шумных, или ненужную резкость однотонных поверхностей вроде чистого голубого неба. Причем этот прием достигает как минимум тот же результат, что и рекомендация по «усилению резкости слабого канала», но без возможных потерь при преобразовании изображения в пространство CMYK.
Но мне все не давала покоя одна мысль. Во всех источниках прямо утверждается, что усиление резкости детализацию не улучшает, а только ухудшает, что собственно и было проиллюстрировано выше. Но если зрительно мы в состоянии провести четкую границу между светлой и темной стороной, почему нельзя это сделать автоматически, по возможности сохранив существующую детализацию?
Таким образом, идеальный инструмент повышения резкости должен уметь следующее:
- «восстанавливать» изображение на размытых участках, основываясь на остатках информации о первоначальной яркости в соседних областях,
- без необходимости не портить исходное изображение;
- усиливать резкость (контраст) (психологический аспект резкости) именно на границах перехода, а не на удалении от нее.
- быть достаточно гибким для настроек.
Новый инструмент резкости
Примерно через день интенсивных раздумий на эту тему у меня родился следующий алгоритм:
23 steps +find edges = upgraded high-pass
Фильтр «find edges» рекомендуется для усиления резкости границ, но довольно ограниченным путем – локализации границ через выделение. Т.е. разделение изображения на области, в которых надо усиливать резкость, и не надо. Также, вместо «find edges» можно использовать фильтр «glowing edges», но у этого фильтра есть недостаток – изображение надо переводить в RGB 8-бит.
Но если к фильтру «find edges» добавить прием по разделению на светлую и темную границу после размытия и получения разницы (упомянутый выше в алгоритме Великого Дэна), мы получаем четкое разделение границы с точностью до пикселя! Причем наиболее сильное различие именно на границе, а не на удалении от нее.
Итак, каркас нового алгоритма:
1. Из предпосылки, что «зеленый» канал наименее шумный, будем работать именно с ним, для чего к копии исходного изображения применяем «apply image» (источник – зеленый канал, режим наложения «normal»).
Повторяем алгоритм «23 шага» с радиусами 0.2 (или 0.3) только без шагов с усилением. К копии «зеленого» канала применяем фильтр «Find edges» и делаем его копию.
Первую инвертированную копию «edges» располагаем поверх слоя «Light border» (см. выше прием 2а) и в режиме опции смешивания «blending options» нижний левый ползунок «blend if» двигаем на «1», тем самым выделяем из нашей границы светлую часть. Эти два слоя можно объединить.
Аналогично вторую копию «edges» располагаем поверх слоя «Dark border» (см. выше прием 2б)и в режиме опции смешивания «blending options» нижний правый ползунок «blend if» двигаем на «254», тем самым выделяем из нашей границы темную часть. Также объединяем два эти слоя.
Каждый слой (осветляющий и затемняющий) можно после приведения нейтрального цвета (белого и черного) к нейтральному серому (50%) с помощью соответствующих кривых привести к виду, похожему на картинку после фильтра «high-pass» для последующего наложения в режиме «overlay» или «soft light».
Если в дальней планируется работа в Lab, применять кривые следует после перехода в режим Lab, иначе 50% серый будет сдвинут в светлую сторону.
Для удобства слои, усиливающие темную и светлую сторону границ можно слить в один (верхний слой в режиме «overlay», нижний в режиме «normal») и наложить в исходное изображение в режиме «overlay» или «soft light».
Если дальнейшее уменьшение изображения не планируется, полученный слой нужно немного размыть – иначе, в силу того, что пиксели прямоугольные, границы получаются рваные. Также можно понизить прозрачность – в противном случае изображение может иметь на границах неестественный вид.
Если же изображение будет еще уменьшено, то размытие границ следует сделать только после уменьшения исходного изображения, при этом вполне возможно, что размытие не понадобится – при уменьшении граница сгладится.
Также можно менять кривыми (прямой s-образной кривой для усиления, обратной – для ослабления) контраст слоя, применять условное смешивание в зависимости от целей. Там, где резкость усиливать не надо, слой можно просто закрасить кисточкой с 50% серым цветом. В общем, довольно интересный инструмент для творческой работы над резкостью.
Корректирующий резкость слой имеет следующий вид:
РИСУНОК 8

Естественно, этот сложный алгоритм следует записать на экшен (см. мою предыдущую статью ). Желательно сделать минимум два варианта: для параметра размытия 0.2 и 0.3. – для разных сюжетов толщина границ может понадобиться разная.
Кстати, читатели, у которых не самый современный компьютер, в экшен могут вставить одну-две команды «purge all» для того, чтобы освободить оперативную память, а то при использовании «image processor» с очень длинными экшенами могут возникнуть проблемы. Если же читателю все эти сложные изыски не интересны, могу посоветовать следующее:
1. USM (фильтр «unsharp mask») использовать только на финальной стадии. Для веба хорошие исходные параметры: радиус 0.2, сила 500% или радиус 0.3, сила 200-300%, «пороговое значение» 1, для печати на бумаге: радиус 0.3, сила 500%.
2. Алгоритм «high pass» можно применять на исходном изображении, но до приведения изображения в финальный размер – не смешивать; использовать минимальный радиус (0.2 – 0.3); для усиления сделать нужное количество слоев в режиме наложения «overlay» или «soft light».
текст и иллюстрации Роман Шаповалов.
Архив номеров
| № 1 Январь 2009 |
| №2 Март 2009 |
Статья номера
| Как начать снимать портреты. Нетехническое руководство. |
| "Катерине С. Любимой модели, музе и другу" Впервые взяв в руки камеру, начинающий фотограф не знает, что у него будет получаться лучше всего. Как правило, он начинает снимать все без разбору – пейзажи, портреты, натюрморты, макро, и даже пытается ... |
| Читать далее... |








