![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Пост для тех, кто хочет самостоятельно попробовать сделать панораму.
Профессионалы часто используют 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 настроек маловато.
Профессионалы часто используют Adobe Photoshop с кучей соответствующих плагинов, но цена этого софта по карману разве что специализированным фирмам. Поэтому я расскажу о том, как сделать то же самое без всяких затрат, при помощи свободного программного обеспечения (СПО, freeware). Например, так:

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

панорама у Старого Чандровского (Велосипедного) пруда (смотреть подробности)
Или даже так, всего из трёх фото:

Чебоксарская ГЭС (смотреть подробности)
Но достаточно ли функциональности у СПО?
А это смотря для какой задачи.
Например, посмотрим особый вид панорамы - мини-планеты (сферическая панорама в полярной проекции), как у
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)

Чебоксарские планеты, подробнее
Кроме упомянутого Фотошопа, такие проекции умеет делать 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 настроек маловато.
no subject
Date: 2012-12-19 09:28 am (UTC)no subject
Date: 2012-12-19 10:41 am (UTC)Движок, причём, свободный, поэтому и продукт тоже бесплатный :)
Но вот других решений на этом движке я что-то не видел...
no subject
Date: 2012-12-19 09:56 am (UTC)Так надо было снимать с одинаковыми настройками. А так единого цвета не добиться - у тебя место склейки сразу в глаза бросается.
no subject
Date: 2012-12-19 10:42 am (UTC)no subject
Date: 2012-12-19 10:44 am (UTC)no subject
Date: 2012-12-19 10:53 am (UTC)Правда, за всё надо платить. В данном случае - дополнительной ручной работой...
Но! ВЫ ЭТО МОЖЕТЕ!!! :)
no subject
Date: 2012-12-19 10:54 am (UTC)Я люблю автоматизацию и кнопку "Сделать все!"
no subject
Date: 2012-12-19 11:07 am (UTC)Про софт замнём для ясности? Или порекомендуешь что-то фриварное (или хотя бы относительно недорогое) с такой кнопкой?
no subject
Date: 2012-12-19 11:10 am (UTC)P.S. на зеркалке как раз нужно руками все крутить, автоматы там полное Г.
no subject
Date: 2013-06-11 07:04 am (UTC)no subject
Date: 2013-06-11 07:18 am (UTC)Когда он вблизи центральной вертикали, появляются стрелки вверх-вниз - нажимаем кнопку мыши и двигаем картинку относительно линии горизонта.
Когда курсор вблизи горизонтали, появляются стрелки вправо-влево - нажимаем кнопку мыши и двигаем картинку вправо-влево.
Наконец, выводим курсор за пределы картинки - появляется стрелка, символизирующая поворот. Хватаем и крутим вокруг центра. При этом, если панорама маленькая, то будет поворачиваться целиком. Если большая - то точки, за которые "тянется картинка", окажутся внутри неё, и будет S-образное искажение.
Ну, далее разберётесь! ;)
no subject
Date: 2013-06-11 07:56 am (UTC)no subject
Date: 2013-06-11 08:12 am (UTC)Особенно трудно собирать морские панорамы при безоблачном небе, потому что горизонт везде одинаков, а вот волны движутся. Ну и для любых движущихся объектов (люди в кадре, машины, провода и т.п.) такая проблема...
Кроме того, крутить фотоаппарат надо при съёмке правильно. Не вокруг себя, а вокруг точки фокуса объектива. Иначе по краям снимка будут большие нестыковки по близкорасположенным объектам, вплоть до того, что программа откажется работать.
В самом крайнем случае, если снимки уникальны и повторить нельзя, можно какой-нибудь кораблик нарисовать на проблемных снимках для стыковки, а потом удалить... но это ювелирная и неблагодарная работа ;)
no subject
Date: 2013-06-11 08:29 am (UTC)Это как? Я же на месте стою и кручусь-снимаю все вокруг себя. Поясните пожалуйста в двух словах.
no subject
Date: 2013-06-11 08:53 am (UTC)no subject
Date: 2013-06-11 09:11 am (UTC)no subject
Date: 2013-06-11 10:51 am (UTC)no subject
Date: 2013-06-11 11:02 am (UTC)