Как исправить фокус на фотографии в фотошопе
В Photoshop предусмотрен интеллектуальный механизм автоматического уменьшения размытия изображения в результате движения камеры. При необходимости можно задать дополнительные настройки для дальнейшего усиления резкости изображения. Фильтр Стабилизация изображения в меню Фильтр > Усиление резкости уменьшает размытие, вызванное несколькими типами движения камеры, в том числе линейным, дугообразным, вращательным и зигзагообразным движением.
Функция стабилизации лучше всего обрабатывает достаточно освещенные снимки с минимальным уровнем шума, сделанные цифровыми фотоаппаратами. Следующие типы фотографий особенно подходят для стабилизации изображения:
- Фотографии, сделанные на улице или в помещении с использованием объектива с большим фокусным расстоянием
- Фотографии статического характера, сделанные в помещении, с низкой выдержкой и без вспышки
Кроме того, функция стабилизации может увеличить резкость размытого текста на фотографиях, размытых в результате движения камеры.
- Откройте изображение.
- Выберите Фильтр > Усиление резкости > Стабилизация изображения . Photoshop автоматически анализирует область изображения, которая лучше всего подходит для стабилизации, определяет характер размытия и экстраполирует соответствующие корректировки на все изображение. Исправленное изображение отображается для просмотра в диалоговом окне Стабилизация изображения .
Лупа Подробности на панели внизу справа позволяет внимательно рассмотреть область, находящуюся в фокусе. При необходимости увеличьте или уменьшите масштаб элемента изображения. Наведя инструмент «Рука» на лупу подробностей для изучения области изображения, отпустите кнопку мыши, чтобы быстро оценить корректировки размытия в этой области.
Если в диалоговом окне Стабилизация изображения не видно примененных коррекций, убедитесь, что на правой панели включен параметр Просмотр .
Трассировка размытия представляет собой форму и размеры размытия, которое затрагивает выделенную область изображения. Различные области изображения могут иметь размытия разной формы. Функция автоматической стабилизации изображения учитывает трассировку размытия только для области изображения по умолчанию, которую программа Photoshop определила как наиболее подходящую для вычисления размытия. Для более точной настройки изображения можно активировать в Photoshop вычисление и использование трассировок размытия для нескольких областей.
Доступные трассировки размытия перечислены на панели Дополнительно диалогового окна Стабилизация изображения . Щелкните трассировку размытия, чтобы увеличить или уменьшить масштаб.
Не так давно я опубликовал на хабре первую часть статьи по восстановлению расфокусированных и смазанных изображений, где описывалась теоретическая часть. Эта тема, судя по комментариям, вызвала немало интереса и я решил продолжить это направление и показать вам какие же проблемы появляются при практической реализации казалось бы простых формул.
В дополнение к этому я написал демонстрационную программу, в которой реализованы основные алгоритмы по устранению расфокусировки и смаза. Программа выложена на GitHub вместе с исходниками и дистрибутивами.
Ниже показан результат обработки реального размытого изображения (не с синтетическим размытием). Исходное изображение было получено камерой Canon 500D с объективом EF 85mm/1.8. Фокусировка была выставлена вручную, чтобы получить размытие. Как видно, текст совершенно не читается, лишь угадывается диалоговое окно Windows 7.
И вот результат обработки:
Практически весь текст читается достаточно хорошо, хотя и появились некоторые характерные искажения.
Под катом подробное описание проблем деконволюции, способов их решения, а также множество примеров и сравнений. Осторожно, много картинок!
Вспомним теорию
Подробное описание теории было в первой части, но все же напомню вкратце основные моменты. В процессе искажения из каждого пикселя исходного изображения получается некоторое пятно в случае расфокусировки и отрезок для случая обычного смаза. Все это друг на друга накладывается и в результате мы получаем искаженное изображение — это называется сверткой изображения или конволюцией. То, по какому закону размазывается один пиксель и называется функцией искажения. Другие синонимы – PSF (Point spread function, т.е. функция распределения точки), ядро искажающего оператора, kernel и другие.
Чтобы восстановить исходное изображение нам необходимо каким-то образом обратить свертку, при этом не забывая про шум. Но это не так-то просто – если действовать, что называется, «в лоб», то получится огромная система уравнений, которую решить за приемлемое время невозможно.
Но на помощь к нам приходит преобразование Фурье и теорема о свертке, которая гласит, что операция свертки в пространственной области эквивалентна обычному умножению в частотной области (причем умножение поэлементное, а не матричное). Соответственно, операция обратная свертке эквивалентна делению в частотной области. Поэтому процесс искажения можно переписать следующим образом:
(1),
где все элементы — это фурье-образы соответствующих функций:
G(u,v) – результат искажения, т.е. то, что мы наблюдаем в результате (смазанное или расфокусированное изображение)
H(u,v) – искажающая функция, PSF
F(u,v) – исходное неискаженное изображение
N(u,v) – аддитивный шум
Итак, нам нужно восстановить максимальное приближение к исходному изображению F(u,v). Просто поделить правую и левую часть на H(u,v) не получится, т.к. при наличии даже совсем небольшого шума (а он всегда есть на реальных изображениях) слагаемое N(u,v)/H(u,v), будет доминировать, что приведет к тому, что исходное изображение будет целиком скрыто под шумом.
Чтобы решить эту проблему, были разработаны более устойчивые методы, одним из которых являтся фильтр Винера (Wiener). Он рассматривает изображение и шум как случайные процессы и находит такую оценку f' для неискаженного изображения f, чтобы среднеквадратическое отклонение этих величин было минимальным:
(2)
Функцией S здесь обозначаются энергетические спектры шума и исходного изображения соответственно – поскольку, эти величины редко бывают известны, то дробь Sn / Sf заменяют на некоторую константу K, которую можно приблизительно охарактеризовать как соотношение сигнал-шум.
Способы получения PSF
Итак, возьмем за отправную точки описанный фильтр Винера — вообще говоря, существует множество других подходов, но все они дают примерно одинаковые результаты. Так что все описанное ниже будет справедливо и для остальных методов деконволюции.
Основная задача — получить оценку функции распределения точки (PSF). Это можно сделать несколькими способами:
1. Моделирование. Очень непросто и трудоемко, т.к. современные объективы состоят из десятка, другого различных линз и оптических элементов, часть из которых имеет асферическую форму, каждый сорт стекла имеет свои уникальные характеристики преломления лучей с той или иной длиной волны. В итоге задача корректного расчета распространение света в такой сложнейшей оптической системе с учетом влияния диафрагмы, переотражений и т.п. становится практически невозможной. И решение ее, пожалуй, доступно только разработчикам современных объективов.
2. Непосредственное наблюдение. Вспомним, что PSF — это то, во что превращается каждая точка изображения. Т.е. если мы сформируем черный фон и одну белую точку на нем, а затем сфотографируем это с нужным значением расфокусировки, то мы получим непосредственно вид PSF. Кажется просто, но есть много нюансов и тонкостей.
3. Вычисление или косвенное наблюдение. Присмотримся к формуле (1) процесса искажение и подумаем, как можно получить H(u,v)? Решение приходит сразу — нужно иметь исходное F(u,v) и искаженное G(u,v) изображения. Тогда поделив фурье-образ искаженного изображения на фурье-образ исходного изображения мы получим искомую PSF.
Про боке
Перед тем как перейдем к деталям, расскажу немного теории расфокусировки применительно к оптике. Идеальный объектив имеет PSF в виде круга, соответственно каждая точка превращается в круг некоторого диаметра. Кстати, это для многих неожиданность, т.к. с первого взгляда кажется, что дефокус просто растушевывает все изображение. Это же объясняет и то, почему фотошоповское размытие Гаусса совсем не похоже на тот рисунок фона (его еще называют боке), который мы видим у объективов. На самом деле это два разных типа размытия — по Гауссу каждая точка превращается в нечеткое пятно (колокол Гаусса), а дефокус каждую точку превращает в круг. Соответственно и разные результаты.
Но идеальных объективов у нас нет и в реальности мы получаем то или иное отклонение от идеального круга. Именно это и формирует неповторимый рисунок боке каждого объектива, заставляя фотографов тратить кучу денег на объективы с красивым боке :) Боке можно условно разделить на три типа:
— Нейтральное. Это максимальное приближение к кругу
— Мягкое. Когда края имеют меньшую яркость, чем центр
— Жесткое. Когда края имеют большую яркость, чем центр.
Рисунок ниже иллюстрирует это:
Более того, тип боке — мягкое или жесткое зависит еще и от того, передний это фокус или задний. Т.е. фотоаппарат сфокусирован перед объектом или же за ним. К примеру, если объектив имеет мягкий рисунок боке в переднем фокусе (когда, скажем, фокус на лице, а задний план размыт), то в заднем фокусе боке того же объектива будет жестким. И наоборот. Только нейтральное боке не меняется от вида фокуса.
Но и это еще не все — поскольку каждому объективу присущи те или иные геометрические искажения, то вид PSF зависит еще и от положения. В центре — близко к кругу, по краям — эллипсы и другие сплюснутые фигуры. Это хорошо видно на следующем фото — обратите внимание на правый нижний угол:
А теперь рассмотрим подробнее два последних метода получения PSF.
PSF — Непосредственное наблюдение
Как уже говорилось выше, необходимо сформировать черный фон и белую точку. Но просто напечатать на принтере одну точку недостаточно. Необходим намного большее отличие в яркости черного фона и белой точки, т.к. одна точка будет размываться по большому кругу — соответственно должна иметь большую яркость, чтобы быть видной после размытия.
Для этого я распечатал черный квадрат Малевича (да, тонера много ушло, но чего не сделаешь ради науки!), наложил с другой стороны фольгу, т.к. лист бумаги все же неплохо просвечивает и иголкой проколол маленькую дырочку. Затем соорудил нехитрую конструкцию из 200-ваттной лампы и сэндвича из черного листа и фольги. Выглядело это вот так:
И для портретника Canon EF 85mm/1.8:
Хорошо видно как меняется характер боке с жествкого на мягкий для одного и того же объектива в случае переднего и заднего фокуса. Также видно, какую непростую форму имеет PSF — она весьма далека от идеального круга. Для портретника также видны большие хроматические аберрации из-за большой светосилы объектива и малой диафрагмы 1.8.
И вот еще пара снимков при диафрагме 14 — на нем видно, как поменялась форма с круга на правильный шестиугольник:
PSF — Вычисление или косвенное наблюдение
Следующий подход — косвенное наблюдение. Для этого, как писалось выше, нам нужно иметь исходное F(u,v) и искаженное G(u,v) изображения. Как их получить? Очень просто — необходимо поставить фотоаппарат на штатив и сделать один резкий и один размытый снимок одного и того изображения. Далее с помощью деления фурье-образа искаженного изображения на фурье-образ исходного изображения мы получим фурье-образ нашей искомой PSF. После чего применив обратное преобразование Фурье получим PSF в прямом виде.
Я сделал два снимка:
И в результате получил вот такую PSF:
На горизонтальную линию не обращайте внимания, это артефакт после преобразования Фурье в матлабе. Результат, скажем так, средненький — очень много шумов и детали PSF видны не так хорошо. Тем не менее, метод имеет право на существование.
Описанные методы можно и нужно использовать для построения PSF при восстановлении размытых изображений. Т.к. от того, насколько эта функция приближена к реальной напрямую зависит качество восстановления исходного изображения. При несовпадении предполагаемой и реальной PSF будут наблюдаться многочисленные артефакты в виде «звона», ореолов и снижения четкости. В большинстве случаев предполагается форма PSF в виде круга, тем не менее для достижения максимальной степени восстановления рекомендуется поиграться с формой этой функции, попробовав несколько вариантов от распространенных объективов — как мы видели, форма PSF может варьироваться в значительной степени в зависимости от диафрагмы, объектива и прочих условий.
Краевые эффекты
Следующая проблема заключается в том, что если напрямую применить фильтр Винера, то на краях изображения будет своеобразный «звон». Его причина, если объяснять на пальцах, заключается в следующем — когда делается деконволюция для тех точек, которые расположены на краях, то при сборке не хватает пикселей, которые находятся за краями изображения и они принимаются либо равным нулю, либо берутся с противоположной стороны (зависит от реализации фильтра Винера и преобразования Фурье). Выглядит это так:
Одно из решений, чтобы избежать этого состоит предобработке краев изображения. Они размываются с помощью той же самой PSF. На практике это реализуется следующем образом — берется входное изображение F(x,y), размывается с помощью PSF и получается F'(x,y), затем итоговое входное изображение F''(x,y) формируется суммированием F(x,y) и F'(x,y) с использованием весовой функции, которая на краях принимает значение 1 (точка целиком берется из размытого F'(x,y)), а на расстоянии равном (или большем) радиусу PSF от края изображения принимает значение 0. Результат получается такой — звон на краях исчез:
Практическая реализация
Основные функции:
— Высокая скорость. Обработка изображения размером 2048*1500 пикселей занимает около 300мс в режиме Preview (когда перемещаются ползунки настроек) и 1.5 секунды в чистовом режиме (когда отпустили ползунки настроек).
— Подбор параметров в Real-time режиме. Нет необходимости нажимать кнопки Preview, все делается автоматически, нужно лишь двигать ползунки настроек искажения
— Вся обработка идет для изображения в полном разрешении. Т.е. нет никакого маленького окошка предпросмотра и кнопок Apply.
— Поддержка восстановления смазанных и расфокусированных изображений
— Возможность подстройки вида PSF
Основной упор при разработке был сделан на скорость. В итоге она получилась такая, что превосходит коммерческие аналоги в десятки раз. Вся обработка сделана по-взрослому, в отдельном потоке. За 300 мс программа успевает сгенерить новую PSF, сделать 3 преобразования Фурье, сделать деконволюцию по Винеру и отобразить результат — и все это для изображения размером 2048*1500 пикселей. В чистовом режиме делается 12 преобразований Фурье (3 для каждого канала, плюс одно для каждого канала для подавления краевых эффектов) — это занимает около 1.5 секунд. Все времена указаны для процессора Core i7.
Пока в программе есть ряд багов и особенностей — скажем, при некоторых значениях настроек изображение покрывается рябью. Точно причину выяснить не удалось, но предположительно — особенности работы библиотеки FFTW.
Ну и в целом в процессе разработки пришлось обходить множество скрытых проблем как в FFTW (например не поддерживаются изображения с нечетным размером одной из сторон, типа 423*440.). Были проблемы и с Qt — выяснилось, что рендеринг линии со включенным Antialiasing работает не совсем точно. При некоторых значениях углов линия перескакивала на доли пикселя, что давало артефакты в виде сильной ряби. Для обхода этой проблемы добавил строчки:
Сравнение
Для чистоты эксперимента будем брать те рекламные изображения, которые приведены на официальных сайтах — так гарантируется, что параметры тех программ выбраны оптимальными (т.к. думаю, разработчики тщательно отбирали изображения и подбирали параметры перед публикацией в рекламе на сайте).
Итак, поехали — восстановление смаза:
Берем пример с сайта Topaz InFocus:
Обрабатываем с вот такими параметрами:
и получаем такой результат:
Результат с сайта Topaz InFocus:
Результат весьма схожий, это говорит о том, что в основе Topaz InFocus используется похожий алгоритм деконволюции плюс постобработка в виде заглаживания-удаления шумов и подчеркивания контуров.
Примеров сильно дефокусировки на сайте этой программы найти не удалось, да и она не предназначена для этого (максимальный радиус размытия составляет всего несколько пикселей).
Можно отметить еще один момент — угол наклона оказался ровно 45 градусов, а длина смаза 10 пикселей. Это наводит на мысль о том, что изображение смазано искусственно. В пользу этого факта говорит и то, что качество восстановления очень хорошее.
В этом уроке я покажу вам, как можно изменять фокус на фото, делая тем самым заметнее главные детали фото. Как правило, этот эффект может быть сделан фотоаппаратом. Но что, если перед нами уже готовая фотография?
Шаг №1. Для примера было выбрано фото японского блюда. Открываем его в программе и начнем наш урок:
Шаг №2. Теперь нам нужно решить, на какую часть фото мы сделаем фокусировку. Пусть это будет наше блюдо. Берем инструмент Elliptical Marquee Tool и создайте круглое выделение вокруг тарелки, похожие на это:
Шаг №3. Идем в меню Select -> Modify -> Feather (Выделение -> Модификация -> Растушевка или нажмите Shift+F6) установите значение в 50 пикселей.
Затем выберите инструмент Sharpen Tool, установите прочность: 30% и выберите мягкую круглую кисть около 400 пикселей. Теперь несколько раз проведите кисточкой в центре нашего выделения, чтобы придать больше резкости блюду:
Шаг №4. Сделаем инверсию выделения, нажмите Ctrl + Shift + I. Теперь применим фильтр Filter -> Blur -> Gaussian Blur (Фильтр -> Размытие -> Размытие по Гауссу) с такими настройками:
Шаг №5. Теперь нужно сделать плавный переход от размытия к центру тарелки. Выберите в меню Select -> Inverse, чтобы инвертировать выделение назад, потом идем в Select -> Modify -> Expand и устанавливаем значение в 100 пикселей.
Шаг №6. Инвертируем выделение еще раз и применяем Filter -> Blur -> Gaussian Blur (Фильтр -> Размытие -> Размытие по Гауссу) со следующими настройками:
Шаг №7. Теперь для лучшего восприятия добавим размытию черно-белый градиент. Нажмите Ctrl + J, чтобы скопировать выделенную область на новый слой и обесцветьте его Image -> Adjustments -> Desaturate (Изображение -> Коррекция -> Обесцветить или нажать Shift + Ctrl + U):
Шаг №8. Выберите инструмент Eraser Tool, установите мягкую круглую кисть около 300 пикселов, и обработайте темные участки вокруг тарелки.
На этом урок закончен, а вот и финальный результат:
В сборниках стихов и сказок о любви можно отыскать массу прекрасных произведений. К примеру, стих про Андрейку, несмотря на свой размер, очень четко передает нам мысли влюбленных людей.
В этой статье я покажу, как создать эффект фокусировки на отдельных элементах фотографии. Обычно этот эффект можно сделать с помощью фотоаппарата, но если ваш фотоаппарат не позволяет это сделать, то вы можете сделать в фотошопе.
Вот что получится в конце урока.
Вот оригинальная фотография.
Шаг 2
Теперь мы должны решить, какая область на фотографии должна быть в фокусе. Давайте возьмем область в районе блюда. Возьмем инструмент Овальная область и выделим область на тарелке, как это сделано на картинке ниже.
Шаг 3
Возьмем инструмент Растушевка. Для этого зайдем в меню Выделение, перейдем в Модификация, затем Растушевка. Или сочетание клавиш Shift+F6.
Установим следующее значение.
Теперь возьмем инструмент Резкость со значениями размера кисти 400 пикселей и жесткостью 30%. После чего, установим резкость в центре выделенной области.
Вот что должно получится.
Шаг 4
Инвертируйте выделение, (можно с помощью меню Выделение или с помощью сочетания клавиш Ctrl+F2)
Примените размытие по Гауссу.
Установите следующее значение.
Вот что должно получиться
Шаг 5
Мы знаем, что фокус должен быть постепенным, поэтому мы должны немного увеличить область выделения и добавить больше размытия. Сделаем снова инверсию (Ctrl+F2) и увеличим выделенный диапазон.
Установим значение в 50 пикселей.
Шаг 6
Снова инвертируем выделение (Ctrl+F2) и сделаем размытие по Гауссу со следующим значением.
Шаг 7
Эффект фокуса мы закончили. Но теперь, для увеличения эффекта, мы добавим немного черно-белого градиента. Создайте копию выделенного фрагмента в новый слой (Ctrl+C, Ctrl+V).
Обесцветим новый слой. Для этого зайдем в меню Изображение, выберем пункт Коррекция, после чего, выберем пункт Обесцветить. Или воспользуемся сочетанием клавиш Shift+Ctrl+U.
Шаг 8
Возьмем инструмент резинка со значением в 300 пикселей и пройдемся по центральной области нашей фотографии. Тем самым, черно-белая область станет меньше.
Читайте также: