Пост для тех, кто хочет самостоятельно попробовать сделать
панораму.
Профессионалы часто используют Adobe Photoshop с кучей соответствующих плагинов, но цена этого софта по карману разве что специализированным фирмам. Поэтому я расскажу о том, как сделать то же самое без всяких затрат, при помощи свободного программного обеспечения (СПО, freeware). Например, так:
Хочешь быть здоровым - будь им! (на фото озеро Таир, Марий-Эл)
Эта панорама сделана при помощи
Imagic 4.0 Free Browser, что бесплатно, но потребовало очень много неудачных попыток и последующей ручной работы. С тех пор прошло несколько лет, и я теперь вынужден принести большую благодарность Microsoft'у за великолепный подарок, обеспечивающий удивительное качество склейки панорам, например:
панорама у Старого Чандровского (Велосипедного) пруда (смотреть подробности) Или даже так, всего из трёх фото:
Чебоксарская ГЭС (смотреть подробности) Но достаточно ли функциональности у СПО?
А это смотря для какой задачи.
Например, посмотрим особый вид панорамы - мини-планеты (сферическая панорама в полярной проекции), как у
demyanof:
Чебоксарские планеты, подробнее Кроме упомянутого Фотошопа, такие проекции умеет делать PTGui и некоторые другие (платные) программы.
Upd: Правда, уже появилась
бесплатная программа для Android, что порадует владельцев смартфонов!
Для обычных панорам функциональности свободного программного обеспечения вполне достаточно. Только всё не получается делать в одном месте - приходится пользоваться рядом отдельных программ. Всё довольно просто на самом деле, и совершенно бесплатно причём! Итак, поехали.
1) Берём кучу последовательных кадров с перекрытием по 20-30% с каждой стороны (если лениво, то лучше вертикальных - чтоб по высоте больше захватить; если не лениво, то и в несколько рядов); о точности можно не беспокоиться, можно спокойно снимать с рук.
Но здесь есть важные особенности съёмки:
- более чем желательно снимать с ручными настройками, одинаковыми для всех снимков, иначе панорамный софт не сможет идеально выровнять яркость. К сожалению, обладатели телефонов и простых мыльниц лишены такой возможности, поэтому далее я подробнее расскажу, что можно сделать в процессе обработки фото;
- фотоаппарат крутить надо не вокруг себя, а вокруг так называемой нодальной точки (которая находится внутри объектива), иначе близко расположенные объекты на соседних кадрах не совпадут из-за параллакса, и софт, если даже сможет склеить такие снимки, даст при склейке много дефектов:
Здесь можно посмотреть подробные советы по съёмке панорам 2) Качаем бесплатный
FastStone Image Viewer и обрабатываем фотографии при необходимости (например, делаем альфа-коррекцию снимков, которые против солнца - панорамный софт не всегда справляется с этим на 100%). Вот пример, когда это необходимо (вверху два снимка с сильно различной экспозицией, внизу - результат работы
Microsoft ICE:
Исходные снимки и результат их склейки Удивительно, что у него вообще что-то получилось, потому что на правой фотографии неисправляемые пересветы, а на левой - почти полная темнота.
Но результат можно улучшить, просто сделав альфа-коррекцию левого снимка. Тогда при склейке панорамы получается достаточно ровный фон:
Результаты альфа-коррекции первого снимка Небо, к сожалению, сильно пересвечено. Но, если у нас всего два снимка, ничего не поделаешь - потому что правый снимок необратимо испорчен (потеряна информация о цвете - получился чисто белый).
Исправить ситуацию можно двумя путями:
- для профессионалов: всё-таки постараться "спасти" исходные снимки. К сожалению, для JPG при пересвете сделать уже ничего нельзя. Но при съёмке в формате RAW есть запас в несколько ступеней за теми значениями яркости, что при конвертации формата в JPG отображаются как белый и чёрный;
- для всех остальных: использовать побольше кадров с возможно большим перекрытием. Тогда панорамный софт сможет понять и сделать значительно качественнее:
Склейка программами разных версий Обе панорамы сделаны из одних и тех же исходных снимков, только верхняя - прошлогодней версией Microsoft ICE, а нижняя - свежей. Видно, что старая не смогла использовать все фотографии, а новая не только смогла, но и гораздо правильнее рассчитала коррекцию яркостей каждого используемого снимка.
Итоговый результат (прошлогодняя версия, после предварительного ручного выравнивания яркости нескольких фото) получился у меня такой (лень было как следует выравнивать яркость слева, поэтому у неба всё-таки остался неправильный градиент цвета и яркости):
Закат на Волге 2011.04.23 - смотреть здесь Здесь хорошо видна ещё одна проблема непрофессиональных камер (а особенно телефонов) - неравномерность яркости в центре кадра и по краям.
В результате на панораме получаются заметные затемнения в районе стыков кадров.
Эту проблему, вероятно, можно устранить при обработке исходных кадров специальными фильтрами в том же фотошопе, но в бесплатном софте такой возможности я не встречал...
3) Качаем
Microsoft ICE (у него лицензия бесплатная для некоммерческого применения). Делаем панораму, при необходимости крутим настройки проекции и т.п. Сохраняем в полном размере, без обрезки полей (чтобы потом редактировать можно было).
Выше вы видели, что склеенная панорама получается из округлых частей. Почему они такие? Да потому что каждая отдельная фотография - это попытка "расплющить глобус на плоскости" - то есть наблюдаемый глазом или объективом сферический угол отобразить на плоскости. Мозг человека хорошо справляется с этой задачей, и мы не замечаем никаких искажений. Разве что те, кто носит очки не постоянно, могут, надевая очки, заметить кажущуюся непараллельность линий. Но с фотографией уже не поспоришь - края и углы относительно середины будут сильно растянуты. Тем сильнее, чем короче фокусное расстояние объектива.
А при склейке эти искажения надо убрать, чтобы склеить фотографии на сфере. Поэтому прямоугольник (где края были растянуты) и становится округлым. И только потом уже "объединённая" сфера снова раскатывается на плоскость.
Теперь посмотрим, какие настройки можно регулировать в программе? Во-первых, это вид проекции, который программа не всегда может определить автоматически. При этом возможны разные варианты, например:
Изменение вида проекции
Также можно повернуть (для длинных панорам это будет S-образным искажением линии горизонта):
Поворот Наконец, можно подвинуть линию горизонта, которую программа подобрала автоматически:
Старый Мокринский железнодорожный мост (см. подробнее) - выравнивание по земле
Старый Мокринский железнодорожный мост (см. подробнее) - выравнивание по краю моста
4) Самая трудоёмкая часть. Качаем бесплатный же
GIMP и исправляем всякие огрехи (в том числе деформации) картинки, которые возникли главным образом из-за параллакса (см. п.1). Также искажения в районе стыков часто возникают на фотографиях воды, так как панорамный софт пытается склеить убежавшую волну.
Для исправления в тяжёлых случаях может даже потребоваться ручное копирование области с исходного кадра в полученную панораму:
Устранение дефектов склейки Здесь готовых рецептов дать нельзя, каждый работает в меру своего владения графическим редактором и художественного вкуса.
На левом снимке вы видите, что после исправления (деформация выделенной области или копирование с другого снимка) на границе области остались нестыковки в плотности фона неба. Такие дефекты мне кажется более удобным (и качественным) исправлять ретушированием в FastStone Image Viewer (см. ниже). А в простейших случаях его будет достаточно для исправления всех подобных дефектов.
К сожалению, произвольную деформацию отдельных областей FastStone Image Viewer делать пока не умеет, поэтому вмятину на линии горизонта (правый снимок) приходится исправлять в GIMP.
5) Открываем полученную панораму в FastStone Image Viewer и ретушируем возможные артефакты панорамного софта, и этим же способом заполняем пустые поля (в разумных пределах, конечно). То же самое можно сделать и в графическом редакторе, но именно здесь мне уж очень нравится инструмент ретуширования!
Заполнение пустых областей
Сначала выполняем клонирование (выбрать "штамп"), чтобы полностью заполнить пустые области, затем переключаем в режим ретуширования и проходим по полученной границе клона и оригинала. С облаками великолепно работает этот способ! Повторять ретуширование можно сколько угодно, с разных исходных точек - и так можно нарисовать совершенно непохожие облака.
Так же хорошо этот метод работает с травой, землёй или асфальтом (например, легко убрать окурок или продолжить дорогу в обрезанных склейкой местах.
А вот с волнами на воде - уже не очень, потому что волны движутся и между соседними кадрами сопрягаются с трудом (панорамный софт иногда даже искажает картинку, обнаружив похожую волну совсем не в том месте).
Далее в этой же программе следует произвести окончательную обрезку. И логотип добавить. И надписи со стрелочками, если надо.
6) Качаем бесплатный
ExifTool и копируем все
теги EXIF с какого-нибудь из исходных фото в полученную панораму, например:
exiftool.exe -tagsFromFile 100820124290.jpg 100820124290_stitch.jpg
Эта полезнейшая утилита работает из командной строки, кто не умеет -
ищите какую-нибудь диалоговую софтину. А EXIF заполнять - признак хорошего тона и дополнительного подтверждения ваших авторских прав. :)
7) Радуемся! :)
P.S.
Тут подсказали ещё кучку свободного софта для панорам:
http://hugin.sourceforge.net/ (см. отличный
Мастер-класс по созданию панорам в Hugin).
http://stitchpanorama.sourceforge.net/http://www.shallowsky.com/software/pandora/http://sourceforge.net/projects/adjustforpanora/ Надо посмотреть на досуге. Подозреваю, что многие из них сделаны на одном и том же свободном движке и отличаются друг от друга сервисом и количеством настроек. И это тоже хорошо, потому что у Microsoft ICE настроек маловато.