alexey_donskoy (alexey_donskoy) wrote,
alexey_donskoy
alexey_donskoy

Categories:

Как сделать панораму, используя свободное программное обеспечение

Пост для тех, кто хочет самостоятельно попробовать сделать панораму.
Профессионалы часто используют Adobe Photoshop с кучей соответствующих плагинов, но цена этого софта по карману разве что специализированным фирмам. Поэтому я расскажу о том, как сделать то же самое без всяких затрат, при помощи свободного программного обеспечения (СПО, freeware). Например, так:

Хочешь быть здоровым - будь им!
Хочешь быть здоровым - будь им!
(на фото озеро Таир, Марий-Эл)

Эта панорама сделана при помощи Imagic 4.0 Free Browser, что бесплатно, но потребовало очень много неудачных попыток и последующей ручной работы. С тех пор прошло несколько лет, и я теперь вынужден принести большую благодарность Microsoft'у за великолепный подарок, обеспечивающий удивительное качество склейки панорам, например:

панорама у Старого Чандровского (Велосипедного) пруда
панорама у Старого Чандровского (Велосипедного) пруда (смотреть подробности)


Или даже так, всего из трёх фото:

ГЭС
Чебоксарская ГЭС (смотреть подробности)


Но достаточно ли функциональности у СПО?
А это смотря для какой задачи.

Например, посмотрим особый вид панорамы - мини-планеты (сферическая панорама в полярной проекции), как у demyanof:

Оригинал 2000х2000
Чебоксарские планеты, подробнее

Кроме упомянутого Фотошопа, такие проекции умеет делать PTGui и некоторые другие (платные) программы.
Upd: Правда, уже появилась бесплатная программа для Android, что порадует владельцев смартфонов!

Для обычных панорам функциональности свободного программного обеспечения вполне достаточно. Только всё не получается делать в одном месте - приходится пользоваться рядом отдельных программ. Всё довольно просто на самом деле, и совершенно бесплатно причём! Итак, поехали.


1) Берём кучу последовательных кадров с перекрытием по 20-30% с каждой стороны (если лениво, то лучше вертикальных - чтоб по высоте больше захватить; если не лениво, то и в несколько рядов); о точности можно не беспокоиться, можно спокойно снимать с рук.
Но здесь есть важные особенности съёмки:

- более чем желательно снимать с ручными настройками, одинаковыми для всех снимков, иначе панорамный софт не сможет идеально выровнять яркость. К сожалению, обладатели телефонов и простых мыльниц лишены такой возможности, поэтому далее я подробнее расскажу, что можно сделать в процессе обработки фото;

- фотоаппарат крутить надо не вокруг себя, а вокруг так называемой нодальной точки (которая находится внутри объектива), иначе близко расположенные объекты на соседних кадрах не совпадут из-за параллакса, и софт, если даже сможет склеить такие снимки, даст при склейке много дефектов:

Как правильно снимать панораму

Здесь можно посмотреть подробные советы по съёмке панорам


2) Качаем бесплатный FastStone Image Viewer и обрабатываем фотографии при необходимости (например, делаем альфа-коррекцию снимков, которые против солнца - панорамный софт не всегда справляется с этим на 100%). Вот пример, когда это необходимо (вверху два снимка с сильно различной экспозицией, внизу - результат работы Microsoft ICE:

Исходные снимки и результат их склейки
Исходные снимки и результат их склейки


Удивительно, что у него вообще что-то получилось, потому что на правой фотографии неисправляемые пересветы, а на левой - почти полная темнота.
Но результат можно улучшить, просто сделав альфа-коррекцию левого снимка. Тогда при склейке панорамы получается достаточно ровный фон:

Результаты альфа-коррекции первого снимка
Результаты альфа-коррекции первого снимка


Небо, к сожалению, сильно пересвечено. Но, если у нас всего два снимка, ничего не поделаешь - потому что правый снимок необратимо испорчен (потеряна информация о цвете - получился чисто белый).
Исправить ситуацию можно двумя путями:

- для профессионалов: всё-таки постараться "спасти" исходные снимки. К сожалению, для JPG при пересвете сделать уже ничего нельзя. Но при съёмке в формате RAW есть запас в несколько ступеней за теми значениями яркости, что при конвертации формата в JPG отображаются как белый и чёрный;

- для всех остальных: использовать побольше кадров с возможно большим перекрытием. Тогда панорамный софт сможет понять и сделать значительно качественнее:

Склейка программами разных версий
Склейка программами разных версий


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

Итоговый результат (прошлогодняя версия, после предварительного ручного выравнивания яркости нескольких фото) получился у меня такой (лень было как следует выравнивать яркость слева, поэтому у неба всё-таки остался неправильный градиент цвета и яркости):

Закат на Волге 2011.04.23
Закат на Волге 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 настроек маловато.
Tags: freeware, it, мастер-класс, образование, обучение, панорама, софт, фото
Subscribe
promo alexey_donskoy december 22, 2016 21:12 2
Buy for 10 tokens
Данный текст способствует делу Света. Ночной Дозор С праздником всех энергетиков и всех причастных! И вообще пользователей электричества - то есть всех. :) Кстати, "я и сам гаишник" энергетик, как сказал бы Тимур Шаов, потому поздравления тоже принимаю :) По этому поводу вспомню те…
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 18 comments