На главную страницу
Список статей


Альтернативные способы
повышения резкости для цифровых изображений
(Маленькое ненаучное исследование)

Цифровым инструментам повышения резкости посвящено множество публикаций. Краткое описание базовых процедур можно найти, например, на web-страничке Sharpening Techniques. Более детально с проблемами, касающимися повышения резкости можно ознакомиться в многочисленных монографиях (см. [1, 2]).

Чаще всего резкость на цифровых изображениях поднимают с помощью штатного инструмента Adobe ® Photoshop ® Unsharp Mask. Несмотря на свою универсальность, этот метод не лишён и нескольких недостатков, таких, например, как появление ореолов и акцентирование шумов. Применение перед «шарплением» интеллектуальных процедур поиска контуров (см. [1, с. 332]) также не всегда приводит к приемлемому результату. В тех случаях, когда Unsharp Mask не позволяет добиться удовлетворительного результата, руководства рекомендуют воспользоваться альтернативными процедурами.

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

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

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

Все альтернативные подходы, по сути, состоят из трёх этапов:

1. Вначале на дополнительном слое тем или иным способом получаем
изображение с подчёркнутыми контурами.
2. Затем задаём для нового слоя один из режимов наложения, который может подчеркнуть контраст (Overlay, Soft Light, Hard Light).
3. При необходимости подбираем требуемую прозрачность дополнительного слоя.

В этой статье будут рассмотрены способы выявления контуров на основе фильтров High Pass (фильтр подчёркивающий высокие пространственные частоты) и Emboss (фильтр выявления рельефа).

I. ПРОЦЕДУРА ПОВЫШЕНИЯ РЕЗКОСТИ НА ОСНОВЕ ФИЛЬТРА HIGH PASS

1. Создаём копию базового слоя (Duplicate Layer).
2. Filter => Other => High Pass. Подбираем радиус R так, чтобы оптимально выявить контура. В качестве начального приближения можно использовать R = 2 … 10.
3. Для нового слоя подбираем требуемый режим наложения (Overlay, Soft Light, Hard Light).
4. При необходимости подбираем прозрачность нового слоя.

II. ПРОЦЕДУРА ПОВЫШЕНИЯ РЕЗКОСТИ НА ОСНОВЕ ФИЛЬТРА EMBOSS

1. Создаём копию базового слоя (Duplicate Layer).
2. Filter => Stylize => Emboss. Подбираем оптимальную величину Angle. Устанавливаем параметр Hight в диапазоне 2 … 5, а параметр Amount примерно 100%.
3. Для нового слоя подбираем требуемый режим наложения (Overlay, Soft Light, Hard Light).
4. При необходимости подбираем прозрачность нового слоя.
   

Сравнение различных процедур на основе тест-изображения
   

 

В верхней части рис. 1 приведено исходное тестовое изображение для исследования различных алгоритмов повышения резкости. Оно состоит из:

1. полоски с градациями серого тона (с шагом 10%);
2. фрагмента чёрно-белой миры, содержащей штрихи с разными пространственными частотами;
3. довольно крупных цветных полос на цветном фоне;
4. незначительного цветного шума, заполняющего белое пространство между мирой и цветными полосами.

В нижней части рис. 1 приведено то же самое изображение после применения фильтра Gaussian Blur (R = 0,7). Именно к этому изображению и будут применены различные процедуры повышения резкости.

Рис. 1
 

          

 

В верхней части рис. 2 показан результат работы фильтра Unsharp Mask (Amount = 210%, Radius = 1, Threshold = 0). Резкость на протяженных контурах почти полностью восстановлена, однако на градационной полоске уже заметно нежелательное выделение границ.

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

   

Рис. 2
 

       

 

В верхней части рис. 3 показан результат работы фильтра High Pass (R = 5) на дополнительном слое (режим наложения Overlay; Opacity = 100%). Артефакты на градационной полоске менее выражены. Шум на белом поле не заметен. Резкость восстановлена более мягко. В целом, можно сказать, что этот способ позволяет неплохо восстановить резкость с минимальными нежелательными краевыми эффектами.

В нижней части рис. 3 показан результат работы фильтра Emboss (Angle = 1350, Height = 3, Amount = 100%) на дополнительном слое (режим наложения Overlay; Opacity = 100%). Артефакты на градационной полоске заметны, хотя и не столь явно, как в случае применения фильтра Unsharp Mask. Резкость восстановлена ещё мягче. Руководства рекомендуют использовать этот способ для слегка размытых изображений (с мягким фокусом).

Рис. 3
 

Какой вывод можно сделать на основе полученных результатов? Вывод прост: разные инструменты работают по-разному. Ни один из них не является идеальным. У каждого из них есть как свои достоинства, так и свои недостатки. Если вас не устраивает какой-то алгоритм, попробуйте применить альтернативную процедуру. Сочетание нескольких разных способов также является неплохой идеей.
   

Сравнение различных процедур на основе реального фотоизображения

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

Рис. 4. Так выглядит московская высотка на площади Восстания с территории Московского зоопарка. Это изображение было получено с фильм-сканера Minolta Dimage Scan Elite. Никакой обработки (кроме Resize) проведено не было.

Рис. 5. Изображение после применения фильтра Unsharp Mask (Amount = 192%, Radius = 0,5, Threshold = 3). Установка порога (Threshold) на уровне 3 позволила избежать появления зернистости на изображении неба.

Рис. 6. Изображение после применения фильтра High Pass (R = 5) в отдельном слое. Режим наложения: Soft light; opacity = 73%.

Рис. 7. Изображение после применения фильтра Emboss (Angle = 1350, Height = 3, Amount = 100%) в отдельном слое. Режим наложения: Overlay; opacity = 75%.

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

Несколько заключительных слов

1. Повышение резкости — процедура со многими подводными камнями. Если вы готовите изображение для печати, то следует помнить о том, что никакой монитор (ни ЭЛТ, ни LCD) не может отобразить картинку в точности так, как она будет напечатана. Более того, резкость на изображении будет зависеть и от типа красок, и от типа бумаги, и от типа печатного процесса. Если у вас недостаточно опыта, то применения метода проб и ошибок должно стать для вас правилом.

2. Желающие поэкспериментировать могут легко создать свою собственную процедуру для повышения резкости. Например, можно попробовать вместо фильтров High Pass и Emboss использовать фильтр Glowing Edges. Не отчаивайтесь, когда увидите, что прямая замена фильтра не даёт немедленного положительного результата. Попробуйте дополнить фильтр Glowing Edges подходящей дополнительной обработкой. Попытайтесь поменять параметр Opacity в бОльших пределах. Экспериментируйте!

Ещё одним возможным способом создания собственной процедуры повышения резкости является использование пользовательского фильтра (Filter => Other => Custom). В статье про bokeh, уже говорилось, что этот фильтр позволяет вычислить двумерную свёртку с произвольной пользовательской функцией размытия точки (ФРТ). Для повышения резкости подходит ФРТ, напоминающая функцию sin(X)/X (если язык математических формул вас пугает, то загляните в книгу Кэтрин Айсманн: в самом конце главы 8 вы найдёте неплохие начальные приближения для фильтра Custom, ориентированного на повышение резкости). Вместо штатного пользовательского фильтра программы Photoshop можно использовать фильтры других производителей. Так, например, бесплатный Custom Convolution Filter от компании Reindeer Graphics Inc предоставляет для моделирования ФРТ матрицу размером 7 х 7.

В самом начале статьи уже упоминалось о применении перед повышением резкости интеллектуальных процедур поиска контуров. К таким процедурам следует отнести и бесплатный plugin Select Edges от уже упомянутой компании Reindeer Graphics Inc (см. [6] в конце статьи). Этот инструмент позволяет несколькими способами формировать выделенную область, содержащую границы и контура. В выделеных областях повысить резкость можно одним из традиционных способов, включая традиционную процедуру Unsharp Mask.

И уж, конечно, безбрежное поле для собственных экспериментов получается при попытках сочетать различные подходы и методики. Удачного творчества!
   
  

Литература и интернет-ссылки

1. Айсманн К. Ретуширование и обработка изображений в Photoshop. Второе издание.: Пер. с англ. — М.: Издательский дом «Вильямс», 2004. — Вопросам повышения резкости посвящена часть III главы 8 этой книги. Остальные материалы этого руководства также заслуживают пристального внимания читателя, интересующегося цифровой обработкой.

2. Маргулис Д. Photoshop 6 для профессионалов: классическое руководство по цветокоррекции. Пер. с англ. — М.: 000 «РТВ-Медиа», 2001. — Классическое руководство, которое не нуждается в представлении. Однако надо обратить внимание на то, что помимо цветокоррекции в тексте книги затронуты и другие вопросы обработки изображений. В частности повышение резкости обсуждается в Главе 4 («Резкость с ювелирной точностью»).

3. Sharpening Techniques. Краткая подборка основных способов повышения резкости. На английском языке.

4. Michael Reichmann. High Pass Sharpening. Статья на известном сайте The Luminous Landscape.

5. Ефремов И. Что такое bokeh и ni-sen? Почему на фотографиях ветки двоятся? В этой статье можно подчерпнуть немного начальных сведений про математическую операцию свёртки.

6. Select Edges (бесплатный plugin для Adobe ® Photoshop ® от компании Reindeer Graphics, Inc). Включает краткое руководство на английском языке в формате Adobe ® Reader ® (pdf). Файл SelectEdges.8bs следует скопировать в папку Plug-ins программы Photoshop. ВНИМАНИЕ! Это НЕ фильтр! После копирования в указанную папку инструмент доступен в меню Select => OPTIPIX => Select Edges.

* * *

 

На главную страницу
Список статей


© Игорь Ефремов, 2005, все права сохранены

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

Hosted by uCoz