Пользователь обычно имеет дело только с графической надстройкой над группой программ, которые и осуществляют процесс сшивки из нескольких кадров единой панорамы. Перечислю основные из этих программ и кратко сформулирую, что они делают.
- Panorama Tools и входящая в них библиотека Libpano 12, написанная Дершем, и ее развитие, Libpano 13. Основная библиотека, которая используется для преобразования проекций и коррекции искажений.
- nona — входящая в Hugin замена программы PTStitcher, написанной Дершем. Осуществляет геометрические и фотометрические преобразования исходных снимков и создает и записывает в файл с расширением «*.pto» сценарий необходимых действий.
- cpfind — приложение Hugin для поиска и расстановки контрольных точек.
- Enblend сводит изображения в бесшовные панорамы.
- Enfuse объединяет сделанные с вилкой экспозиции фотографии. При одинаковой экспозиции снимков на входе Enfuse объединяет их зоны резкости.
Надстройка, в первую очередь, создает удобную среду для работы с большим количеством снимков. Это расстановка контрольных точек и возможность оценить промежуточные результаты и при необходимости вмешаться в автоматизированный процесс. Вопрос удобства, как и вопрос вкуса, очень индивидуален, а самые вкусные блюда — те, которые повар хорошо умеет готовить. Для меня лучшей надстройкой является программа Hugin, на изучение которой я уже потратил много времени и в углубленном ее освоении которой я вижу больше смысла, чем в переходе к другой программе и изучении ее с нуля. Программа стабильно развивается, и в момент написания этой статьи вышла очередная версия Hugin 2011.4.0 от 17.12.2011.
Программа имеет несколько окон.
При запуске программы открывается основное окно и окно «Совет дня». В основном окне есть 9 закладок. Первая закладка «Ассистент» позволяет сразу начать работать, не зная ничего про программу, и при удачном стечении обстоятельств, выполняя пошаговые инструкции, получить на выходе приличную панораму.
Вторая закладка — «Снимки». Здесь можно загрузить снимки. Если в заголовке EXIF занесены правильные данные об объективе, то можно сразу на этой закладке запустить программу расстановки контрольных точек cpfind, недавно сделанную командой Hugin, или выбрать другую программу сторонних производителей из списка. Если данные объектива в EXIF не соответствуют действительности, то надо перейти на следующую закладку.
Закладка «Камера и объектив» в свою очередь имеет две закладки: «Геометрическая» и «Фотометрическая». Закладка «Геометрическая» позволяет задать тип объектива, фокусное расстояние, угол обзора, относительный размер матрицы. Кроме того, если известны, могут быть заданы коэффициенты, описывающие искажения. Если эти коэффициенты не заданы, то при полной оптимизации они будут вычислены и могут быть запомнены для дальнейшего использования.
Закладка «Камера и объектив / Фотометрическая» позволяет задать параметры, характеризующие виньетирование, коррекцию экспозиции и баланса белого.
Закладка «Кадрирование» позволяет обрезать те участки кадра, которые не должны участвовать в сшивке панорам. Это особенно важно, если используется объектив Круговой рыбий глаз.
Закладка «Маска» позволяет задать области для каждого кадра, которые должны быть исключены или, наоборот, обязательно использованы. Альтернативное решение: на последней закладке «Сборка панорамы» ставим галочку в пункте «перепроецированные снимки» и затем в графическом редакторе загружаем в новый слой правильный снимок, после чего с помощью маски сводим его фрагмент с остальной панорамой.
Закладка «Контрольные точки» позволяет расставить контрольные, т. е. совпадающие, точки для соседних кадров. Если была использована автоматическая расстановка, то удалить ошибочно расставленные. Последний процесс может быть частично автоматизирован нажатием на кнопку Celeste, которая запускает программу, удаляющую контрольные точки, привязанные к облакам на небе.
Закладка «Оптимизация». Если панорама снята без параллакса и параметры объектива заданы правильно, то выбираем пункт «Позиции» (с приращением, начиная с фиксированного снимка). Если параметры объектива заданы приблизительно, то стоит попытаться улучшить результат, выбрав следующие пункты: «Позиция и вид», «Позиции и бочку», «Позиции, вид и бочку» и « Все без переноса». Пункт «Позиции и перенос» служит для компенсации параллакса и специальных случаев, когда, например, снимается большой плакат по частям. В частности, этот метод позволяет убрать при сшивке колонну, частично закрывающую плакат при съемке с одной точки. Сделав два снимка, на которых колонна закрывает разные участки плаката, и выделив ее на закладке «Маска», можно полностью исключить колонну из результирующей панорамы.
Закладка «Экспозиция» отвечает за выравнивание кадров по экспозиции и балансу белого. Если панорама снята с постоянной экспозицией для всех кадров, то эта операция необходима в основном для устранения виньетирования. Могут возникнуть проблемы при оптимизации снимков, сделанных объективом Круговой рыбий глаз.
Закладка «Сборка панорамы» определяет проекцию размер и выходной формат панорамы. Также может быть задана последовательность выполнения операций при сшивки панорамы из кадров, снятых с экспозиционной вилкой.
В программе Hugin можно открыть два окна с предварительным просмотром.
Окно просмотра без аппаратного ускорения позволяет выбрать проекцию, выполнить основные операции по кадрированию и выравниванию, а также включить или выключить из панорамы отдельные снимки. В режиме автообновления оно работает медленно и обычно используется в ручном режиме, когда после установки параметров нажимается кнопка «Обновить». Если нормально функционирует «Просмотр панорамы с аппаратным ускорением», то необходимость открывать это окно не возникает.
Окно «Просмотр панорамы с аппаратным ускорением» существенно более функционально и имеет несколько закладок.
Закладка «Размещение» позволяет наглядно проанализировать возможные проблемы со стыковкой отдельных кадров.
Закладка «Проекция» позволяет быстро просмотреть результат в разных проекциях.
Окно предпросмотра позволяет, нажав левую клавишу мыши, центрировать панораму, а нажав правую клавишу, вращать панораму.
Отдельную группу программ составляют программы для просмотра панорам на компьютере. Это собственно проигрыватели для просмотра на локальной машине или через интернет и конвертеры, преобразующие исходную панораму в формат, необходимый проигрывателям. Для просмотра на локальной машине я остановился на программе Pаnini, она меня полностью устраивает, но, к сожалению, она дружит далеко не со всеми видеокартами и, следовательно, подойдет не всем. Для презентаций в интернете небольших и средних панорам я остановился на программе PTViewer, написанной в начале века Хельмутом Дершем. Она использует технологию Java и обладает неплохими возможностями для создания интерактивных презентаций. Для представления гигантских панорам я преобразую панорамы в формат Deep Zoom и использую основанную на технологии Flash программу SaladoPlayer. Сравнению нескольких программ я посвятил «Обзор нескольких способов представления сферических панорам». Для преобразования из одного формата в другой я обычно использую программы Panotools-Script и SaladoConverter.
P. S.
Технология сшивки панорам оказала существенное влияние и на всю современную цифровую фотографию. Программное исправление аберраций использует тот же математический аппарат и для описания объективов используются коэффициенты, получаемые при правильной сшивке панорамы с оптимизацией по всем параметрам. Я об этом более подробно писал в статье «Объективы с фокусным расстоянием 14 мм». В Hugin 2011.2.0 вошла и отдельная программа Hugin Lens Calibration GUI для калибровки объективов. Она не требует точной съемки панорамы без параллакса, но, на мой взгляд, для объективов типа Рыбий глаз малоэффективна. С реальными объектами работает плохо и в идеале требует специально нарисованной таблицы. Программа может работать с одним или несколькими снимками. Она имеет настраиваемый алгоритм определения краев. Поиск линий запускается кнопкой «Find lines». Далее программа находит прямые линии в изображении, по которым считает переменные для формулы обратного преобразования.
Просмотреть и удалить лишние линии можно в режиме просмотра «Edge detection». При щелчке левой кнопкой мыши по зеленой линии она становится красной и исключается из расчетов. Щелчок правой клавишей превращает красную линию в зеленую.
Отмечаем галочкой параметры, которые должны быть оптимизированы, и нажимаем кнопку «Оптимизировать». Результат корректировки можно увидеть в режиме просмотра «Corrected».
Пожалуй, наиболее распространенной программой, впрямую использующей коэффициенты, полученные при сшивке панорам, является библиотека lensfun. Она используется, в частности, в известном конвертере UFRaw.
Кроме того, технология совмещения снимков, отработанная на панорамах, используется при объединении стопок с разной экспозицией или точкой фокусировки. Например, в графическом интерфейсе MacroFusion для программы Enfuse.