Сшиватель панорам Hugin и связанные с ним программы. Как сшивать панорамы

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

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

Панорамные снимки природы - фотосъемка

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

Прежде чем приступить к описанию процесса создания панорамы, напомню некоторые важные моменты на которые следует обратить внимание при съёмке.

Диафрагма и выдержка

Приступая к фотосъёмке, в данном случае съемка рассвета , фотоаппарат желательно устанавливать на штатив, т.к. рассвет и закат требует меньшего отверстия диафрагмы (в частности, для лучшей проработки деталей облаков) и, соответственно, более длительной выдержки. По гидроуровню штатива устанавливаем правильное положение горизонта.

Использование автоспуска

Для предотвращения, или существенного уменьшения вибрации камеры во время срабатывания затвора, рекомендую использовать автоспуск с 10-ти секундной задержкой, или тросик. В настройках камеры желательно установить режим задержки срабатывания затвора , если таковой поддерживается вашей камерой. Баланс белого (ББ) можно оставить в автоматическом режиме если вы снимаете в RAW.

Установка баланса белого

Точка замера экспозиции

Чтобы экспозиция всех кадров оставалась одинаковой, надо сначала произвести замер экспозиции в точке со средним уровнем яркости (это могут быть облака окрашенные в оранжевый цвет) см. рис.1, после чего перейти в ручной режим управления экспозицией (М), установив соответствующие параметры, и отснять все кадры с этой экспозицией. Режим замера для данной фотографии - матричный. Чувствительность - ISO 100.

Склейка панорамы - обработка

Загружаем все фотографии в окно редактора, в данном случае их три. Все исходные файлы формата RAW , если у вас Jpeg - не страшно, важно чтобы они были одинаковы по экспозиции и резкости. Но если не удалось снять всю серию снимков с одинаковой экспозицией, опять же, - не страшно, умный Photoshop сам сделает экспозицию во всех кадрах одинаковой.

Это также работает если в процессе конвертации некоторые кадры получились светлее или темнее по отношению к другим. Но не стоит уж слишком надеяться на сверхвозможности Фотошопа , для корректной работы программы надо иметь исходники оптимального качества, что позволит максимализировать эффективность обработки. Сохраняем файлы без обработки на рабочем столе (01, 02, 03), см. рис.2

Переходим в меню Файл > Автоматизация > Photomerge. В открывшемся окне нажимаем на кнопку «Добавить открытые файлы» и устанавливаем галочки как показано на рисунке ниже, см. рис.3

Нажимаем Ok, и ждем пока программа завершит процесс обработки.

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

Вручную, процесс склейки панорамы занял бы намного больше времени.
Набираем комбинацию клавиш Ctrl+E (объединить слои), после чего фильтром «Пластика» немного подгоним границы изображения к краям рамки, см. рис.6, рис.7


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

Недавно я приехал из отпуска, который провёл в солнечной Турции, и привёз оттуда много красивых пейзажных фотографий, некоторые из которых я создавал специально для последующего «склеивания» в панорамы.

После первичной обработки фотографий в LightRoom, я перешёл в программу PanoramaStudio v 1.6, коей пользовался до сих пор. Ну что сказать… Большинство снимков склеить у меня не получилось, алгоритмы склеивания явно буксовали, поэтому передо мной встал вопрос – какая программа поможет мне качественно скомпоновать панораму? В результате, практическая часть решения этого вопроса превратилась в небольшое тестирование различных программных продуктов, имеющих дело с панорамными фотографиями. Итак, я опробовал автоматические режимы склеивания таких программ, как PTGui v. 8.1.2 Pro, PanoramaStudio 2 Pro и Autopano Pro v. 1.4.2.

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

В качестве тестового материала, я выбрал три варианта пейзажных снимков – с растительностью, морем и горам, а также два варианта вечерних снимков с закатами солнца, морем и небом.

Съёмка была не идеальна изначально, поскольку у меня не было штатива, поэтому линия горизонта, вполне понятно, не была зафиксирована, кроме того экспозицию я выравнивал чисто интуитивно. Также, во время съёмки я использовал поляризационный фильтр, поэтому небо обладает неравномерной цветностью. Ещё я использовал ЭФР=28 мм, поэтому объекты переднего плана немного искажались (параллаксом, кажется, это называют умные люди:-)

С первой серией снимков все программы справились без особых отличий, с вполне достойным качестом. В качестве исходников использовались три горизонтальных фотографии с значительным перекрытием и равномерной экспозицией.

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

Третий пейзаж, с видом на горные кряжи и турецкие кабачки. В этом случае, PanoramaStudio 2 Pro явно дало «в штангу»:

Тогда как в идеале должна была получиться примерно такая склейка:

Наступил черёд закатных фотографий. Данную панораму нужно было соединить из трёх вертикально-ориентированных кадров. Первая трудность, которую нужно было преодолеть – это обойти искажения, возникшие в связи с тем, что я работал на 28 мм, при этом задирал оптику выше линии горизонта, так, чтобы попало и облако. Ещё одна проблема – морские волны, которые динамично двигаются и ежесекундно меняют рельефность поверхности воды так, что нгестыковки деталей в местах склеивания снимков будут видно даже неопытным взглядом. В результате, PTGui выдал своё решение, получившееся хуже чем у всех:

PanoramaStudio 2 Pro и Autopano Pro v. 1.4.2 также предложили свои варианты, похожие между собой, но которые лишь с большой натяжкой можно было назвать хорошими. Судите сами:

Ну и наконец, очередные виды с закатом, уже из пяти снимков. Программа PanoramaStudio 2 Pro снова выдала бестолковый результат:

Аналогично поступил PTGui, который снова не смог справиться со стыковкой горизонта. Более-менее приемлемый результат выдала Autopano Pro v. 1.4.2:

Резюме:

Оказалось, что в плане автосклейки PanoramaStudio 2 Pro явно слабовато подготовлена. Согласен, её интерфейс прост и незатейлив, снимки собираются быстро и если сюжет не слишком замысловат, то результат получается довольно хорошим. Но всё же не всегда…

PTGui v. 8.1.2 Pro держит пальму первенства как мощное и заслуженно популярное средство в панорамостроении, но в автоматическом режиме он ведёт себя как слон в посудной лавке.

В принципе, победителем наших тестов можно назвать Autopano Pro v. 1.4.2. Программа обладает простым и, главное, русскоязычным интерфейсом, а также дополнительными опциями для ручной регулировки склеивания, поэтому я решил и дальше использовать её в этих целях.

Вы меня спросите, а как же Photoshop? Я пробовал версию CS2 и мне она не понравилась, режим склейки явно слабоват, например, с турецкими забегаловками эта программа не справилась. Но это чисто моё, субъективное мнение…

Ещё в 1998 г. Хельмут Дерш (Helmut Dersch), немецкий профессор физики на своём сайте выложил комплект программного обеспечения помогающий создавать панорамные фотографии — Panorama Tools. С тех пор, программа PanoTools настолько прочно закрепилась в среде фотографов, что стала самым популярным инструментом по созданию панорам, с помощью которого можно сшивать как однорядные, так и многорядные фотографии.

Уникальное достоинство PanoTools состоит в том, что в отличии от аналогичных программ, которые склеивают панорамы основываясь по контурам снимков, наша программа трансформирует исходные снимки так, чтобы свести к минимуму текстурные различия смежных областей, одновременно исправляя дисторсию и искажения перспективы. Немаловажное качество PanoTools — её бесплатность и открытость.

Хотя поначалу рассматриваемый нами пакет и не разрабатывался со своим графическим интерфейсом (GUI), на данный момент ситуация изменилась, как силами самих разработчиков PanoTools (вспомним PTPicker), так и сторонними производителями ПО. В нашей статье мы и обсудим конкретный пример использования одного из таких инструментов — программы PTGui, созданной на базе PanoTools.

Итак, мы опустим момент съёмки и предположим что нужные снимки вы уже приготовили. Если во время съёмки вы использовали панорамную головку — отлично, если нет — создать панорамную фотографию с качественной сшивкой всё равно можно.

Например, мы имеем вот это:

Исходные кадры и готовая панорама, созданная в PTGui

Исходники были сняты на камеру Canon 30D в количестве 16 шт. (сетка 8х2). После сшивания получился один файл размером13000х5500 пикс.

Запускаем PTGui и видим такое окно:

Окно запуска программы PTGui

Кнопкой Advanced переходим сразу в «продвинутый» режим, с помощью которого можно, например, задать алгоритм трансформации снимков панорамы - bicubick, lanczos, sinc и т.д.

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

EXIF из кадров панорамы

После загрузки фотографий в PTGui станет доступной кнопка Align images:

Кадры панорамы

Нажимаем кнопку Align images и после непродолжительного анализа панорамы программа высветит окошко Panorama Editor:

Окно Panorama Editor

В рассматриваемом случае всё разместилось практически идеально: точки проставились автоматически, линия горизонта не искажена.

Если у вас будут «падать» здания или искривляться горизонт, переходим в окно Panorama Editor, где линию горизонта можно сдвинуть «на место» левой кнопкой мыши, что в свою очередь повлияет на «падающие» здания или эффект «вогнутой/круглой» земли:

Смещение горизонта панорамы

Завалившийся горизонт можно исправить с помощью правой кнопки мыши:

Вращение панорамы

Далее жмём кнопку Create panorama которая переносит вас на одноимённый таб. Здесь, с помощью кнопки Set optimum size определяем размер, формат, указываем нужно ли сохранять панораму в послойном виде или же объединить в один слой, выбираем место сохранения и кликаем Create panorama:

В результате, через несколько минут (или часов) ваша панорама будет готова.

Если в процессе выравнивания у вас возникли трудности или вы хотите тщательнее контролировать редактирование, можно сразу переместиться в «продвинутый» режим, с помощью кнопки Advanced. Бывает и так, что автоматика не в состоянии проставить точки для совмещения, особенно в случаях с небом, поскольку нет подходящих объектов по каким можно было бы ориентироваться программе, тогда PTGui предложит выставить точки вручную (в принципе она делает это в любом режиме):

Через появившийся пункт Control Point Asistant можно узнать, какие именно кадры вызвали сложности:

Кликнув по номеру кадра в этом окне откроется таб Control Points, где нужно будет проставить вручную проблемные точки:

Pучная установка контрольных точек панорамы

На практике, обычно хватает проставить 3-4 пары точек, для того чтобы программа смогла ориентироваться. Переходим в закладку Optimizer:

В качестве Anchor image выбираете тот кадр, относительно которого будут выстраиваться все остальные. Обычно это средний кадр, с предварительно выровненными в Panorama Editor вертикалями.

В появившемся списке Minimaze lens distortion выбираем последнее значение Heavy+lens shift: оно позволит программе не только трансформировать, но и перемещать кадры панорамы.

Жмём Run otimizer после чего появится окошко, где PTGui скажет как хорошо удалось совместить кадры. Слова good или very good, я думаю понятны и без перевода, not bad значит что нужно внимательно изучить склейку панорамы, в случае дефектов панораму подвергнуть дополнительной обработке в Photoshop’e.

После оптимизации вам остаётся лишь указать параметры склейки и, собственно, склеить единую панораму.

Находясь в «продвинутом» режиме, в табе Create panorama обратите внимание и на такие параметры:

В stitch using укажите PTGui (but warp using Panorama Tools.

Blend using укажет «кто» отвечает за состыковку фотографий и плавность перехода между ними. Обычно, PTGui справляется со своей работой быстро, но это иногда чревато неудовлетворительными результататами.

Например, если в кадры попали двигающиеся объекты (или съёмка была проведена с рук), рекомендуется попробовать smartblend plugin. Он работает медленнее, зато самостоятельно убирает «призраки», половинки людей\машин и т. д.

Interpolation — это метод интерполяции панорамы. Poly3 — быстрый и хороший метод для предварительной склейки, но для конечной склейки лучше выбрать более качественный, например Spline64 или Sinc256.

После вышеописанных приготовлений — смело жмите кнопку Create panorama и идите пить чай. Дальше – дело техники:-), которое может растянуться на час, а то и более.

Отснятые фотографии теперь нужно склеить в единое изображение - равноугольную (эквидистантную) проекцию сферической панорамы.
Хороших программ для склейки панорамных изображений существует несколько. Я продемонстрирую процесс сборки сферической панорамы в программе PTGui Pro , которая, по моим оценкам, пользуется наибольшей популярностью среди профессиональных «стичеров». PTGui Pro имеет два режима работы – простой и расширенный (1). В простом режиме можно собирать панорамы «одним кликом», в расширенном - можно полностью использовать весь огромный потенциал программы, такой как - ручная расстановка контрольных точек, выравнивание вертикалей, создание HDR изображений, устранение виньетирования у исходников и т.д. К PTGui также можно подключить некоторые плагины – генератор контрольных точек Autopano, блендеры Smartblend и Enblend/Enfuse. В рамках нашего урока все эти возможности PTGui Pro мы изучать не будем, поскольку это руководство в основном для начинающих, покажем только основные этапы склейки сферической панорамы в PTGui.

Загрузка исходных изображений

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

Итак, работу начинаем загрузкой в PTGui фотографий, предназначенных для склейки. Сделать это можно нажатием соответствующей кнопки (2) или просто перетаскиванием нужных файлов в окно программы. PTGui принимает исходные изображения в форматах JPG, BMP, PNG, TIFF а также HDR файлы.exr и.hdr. (последнее два только PTGui Pro). Напомню, что ориентация всех снимков должна быть единой, иначе панорама может склеиться некорректно.
Рекомендую проверять параметры оптики и кроп-фактор матрицы (3), которые PTGui берет с EXIF фотографий. Если они не соответствуют реальности, нужно эти данные заполнить вручную или изменить настройки в Tools>Options>EXIF.

Автоматическое совмещение снимков

Нажимаем кнопку Align images…(4), PTGui проанализирует все исходные кадры и в перекрывающихся областях соседних кадров генерирует контрольные точки. После этого PTGui совместит фотографии и проведет их оптимизацию. По окончанию этого процесса появится новое окно – Panorama Editor с предварительным результатом склейки панорамы. Как видим, с нашей панорамой все хорошо, все кадры встали на свои места.
Я в Panorama Editor-е обычно еще выстраиваю окончательную композицию эквидистантной проекции сферической панорамы. Выбираем инструмент Numerical Transform (5), в поле Yaw (6) задаем, на сколько градусов хотим панораму двигать влево/вправо, и нажимаем кнопку Apply (7), при необходимости повторяем операцию пока результат нас не устроит.

Расставление отсутствующих контрольных точек

Иногда случается, что автоматический генератор не может создать для некоторых пар фотографий достаточное количество контрольных точек (к.т.). В этом случае к.т. приходится расставлять вручную. На примере покажу, как связать контрольными точками кадр зенита с соседними кадрами.
Итак, заходим в редактор контрольных точек (8) и выбираем пару перекрывающихся изображений, с которыми будем работать (9). Увеличиваем масштаб (10) и ищем объекты, присутствующие на обоих кадрах. Выбираем подходящую точку и кликнем не неё сначала на одном кадре (11), а затем на другом, в соответствующем месте (12). Контрольная точка установлена. Таким образом, устанавливаем максимум контрольных точек, стараясь, по-возможности, расставлять их по всей перекрывающейся области кадров, а не только в одном месте. Очень важно к.т. размешать с максимальной точностью, для тонкой отладки позиции к.т. используем стрелки клавиатуры или мышь с одновременным нажатием клавиш Ctrl+Alt. На движущиеся объекты (люди, облака, качающиеся ветки и т.п.) контрольные точки не ставим категорически.

Аналогичным способом связываем наш кадр зенита и с другими фотографиями. Когда контрольных точек на нашей панораме достаточно (как минимум 3 для каждой пары фотографий), можно приступать к следующему этапу.

Оптимизация

Для совершенной склейки панорамы, то есть склейки без видимых «швов», дистанция между парами контрольных точек должна быть минимальной. В процессе оптимизации рассчитывается, каким образом должны трансформироваться и выравниваться отдельные кадры панорамы, чтобы минимизировать дистанцию между контрольными точками.

Переключаемся на закладку Optimizer (13). Из списка коррекции дисторсии линзы выбираем опцию “Heavy + lens shift“ (14). Выбираем алгоритм оптимизации Panorama Tools (15), он даёт результат лучше родного оптимизатора PTGui. Запускаем процесс оптимизации (16), после чего появится окно с результатами (17), где указана средняя, минимальная и максимальная дистанция между контрольными точками. Наша цель - снизить на минимум среднюю дистанцию между к.т. Поскольку данные указаны в пикселях, результаты оптимизации будут отличаться, в зависимости от размера исходных изображений. Поэтому, сказать точные цифры, к которым нужно стремиться, трудно. Я стараюсь достичь средней дистанции ~0.8 пикселей и менее. В результатах оптимизации кроме цифр видим еще одну оценку проведенного процесса – "very bad", "bad", "not so bad", "not so good", "good", "very good" или "too good to be true". Но ориентироваться по этим оценкам не стоит, поскольку они не учитывают размер исходных фотографий.

В нашем примере мы получили среднюю дистанция 1.09pix, постараемся её снизить. Подтвердим результаты оптимизации (18) и перейдём (Ctrl+B) к таблице контрольных точек (19). Там проверим, чтобы к.т. были упорядочены по дистанции (20). Видим, что несколько контрольных точек вверху таблицы имеют сильное отклонение от среднего значения дистанции, эти точки следует удалить. После этого запускаем оптимизацию еще раз, результат теперь намного лучше (21). Если и теперь оптимайзер показывает высокие значения, то удаление части к.т. с наихудшим значением дистанции и оптимизацию повторяем несколько раз, пока результат нас не устроит. Но при этом следим, чтобы нам осталось достаточное количество к.т. для сшива панорамы.

Создание панорамы

После окончания оптимизации переходим на закладку Create Panorama (22). Здесь можем выбрать желаемый размер (23), формат готовой панорамы (24), имя файла и путь для его сохранения. PTGui Pro позволяет сохранять панораму также в виде отдельных слоев (25), где каждый слой соответствует каждому исходному кадру панорамы. Эта опция бывает особо полезной, если нужно отретушировать на панораме повторяющиеся движущиеся предметы. Для блендинга используем плагин Smartblend (26), все остальные параметры оставим по умолчанию.

Наконец запускаем процесс склейки панорамы (27) и ждём. В зависимости от конфигурации вашего компьютера, количества и размера исходных фотографий, размера результирующей панорамы и программы блендинга процесс может длиться от нескольких секунд до нескольких часов.

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

Мы уже сейчас можем посмотреть панораму в QTVR формате, для этого нужно зайти на закладку Prewiew (28) и создать превью.

Поскольку мы не загрузили в PTGui кадр надира, внизу изображения, в месте, где он должен был находиться, остался только черный круг (на эквидистантной проекции - черная полоса). На картинке также бросается в глаза тень от штатива. Как её убрать и как поставить на свое место кадр надира я покажу в следующих статях.

Чтобы добавить геотаги потребуется скопировать EXIF-теги из исходных кадров в окончательный вариант панорамы. Я это делают так:

$ exiftool -tagsfromfile первый-кадр.jpg панорама.jpg
Это не совсем правильно, но быстро.

Что ещё можно сделать с панорамой?

Одно из самых интересных панорамных сообществ, на мой взгляд, группа Perfect Panoramas на фликере. Туда принимают только те панорамы, в которых модераторы не найдут дефектов.

Есть фотосообщество в ЖЖ, тоже посвященное панорамам. Не помню, как называется.

Панорамам с геотегами — самое место на Panoramio . Хорошие панорамы потом покажут в Google Earth:)

В интернете панорамы можно показывать с помощью апплета PTViewer .

Дополнение 2010-02: со времени написания заметки появился хороший панорамный хостинг pan0.net . На него можно выкладывать как круговые, так и частичные панорамы. Есть флэш-просмотрщик, который можно легко вставлять в блоги.

Перфекционисты и любители монументального искусства могут снимать гигапиксельные панорамы .

Ну и в общем ещё много разных применений этой техники. В том числе и вполне серьёзных .

PS. Я нашёл ещё два сходных руководства на русском языке: Клеим панораму Александра Прокудина и Склейка панорам в Hugin (© БэЖэ). доступно на сайте программы Hugin, но, увы, только на английском языке.