Склейка сферической панорамы 360x180° в программе PTGui
Отснятые фотографии теперь нужно склеить в единое изображение - равноугольную (эквидистантную) проекцию сферической панорамы.
Хороших программ для склейки панорамных изображений существует несколько. Я продемонстрирую процесс сборки сферической панорамы в программе 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 кадр надира, внизу изображения, в месте, где он должен был находиться, остался только черный круг (на эквидистантной проекции - черная полоса). На картинке также бросается в глаза тень от штатива. Как её убрать и как поставить на свое место кадр надира я покажу в следующих статях.