Panorama Tools помогает сшивать перекрывающиеся фотографии в цилиндрические и сферические панорамы, исправлять дисторсию и хроматические аберрации, менять проекцию, выравнивать перспективу и редактировать отдельные участки панорамы. Для этих задач используются PTStitcher и PTOptimizer, фильтры Correct, Perspective, Remap и Adjust, а также PTPicker и PTEditor.
Работа с панорамой строится вокруг описания геометрии кадров: нужно указать тип объектива и поле зрения, связать одинаковые детали на перекрытиях контрольными точками, оптимизировать yaw, pitch и roll, а затем передать рассчитанные параметры в PTStitcher. Такой порядок позволяет отдельно проверить геометрию, исправить объектив и только после этого выполнять окончательное преобразование и объединение изображений.
Инструменты Panorama Tools дают точный контроль над проекцией, коэффициентами радиальной коррекции, сдвигом каналов, размером результата и способом ресэмплинга, но требуют внимательного ввода параметров. Особенно это заметно при ручной расстановке контрольных точек и при работе с фильтрами, где активные настройки сохраняются между запусками и могут неожиданно повлиять на следующий кадр, если их не проверить.
Скачать Panorama Tools
- Ретушь фото
- Русский интерфейс
- Просто для новичков
- Точки ставятся вручную
- PTEditor зависит от Java
- Нужен 32-битный хост
Что именно делает Panorama Tools
Panorama Tools решает не одну узкую операцию, а несколько связанных задач геометрической обработки фотографии. В одном рабочем процессе можно подготовить исходные кадры, описать геометрию объектива, исправить характерное искривление прямых линий, привести изображение к другой проекции, определить взаимное положение кадров и собрать из них широкоугольную или круговую панораму. Такой подход особенно полезен там, где автоматическая сшивка не даёт приемлемой геометрии и приходится контролировать параметры вручную.
Ключевая особенность набора — разделение вычислений и управления ими. Скрипт описывает исходные изображения, проекцию результата, поле зрения, повороты и параметры коррекции; PTOptimizer уточняет переменные по контрольным точкам; PTStitcher выполняет геометрическое преобразование и формирует результат. Отдельные фильтры позволяют выполнить те же типы преобразований над открытым изображением в совместимом графическом редакторе, а PTEditor даёт интерактивное представление панорамы и исходных кадров.
При обработке Panorama Tools старается объединять геометрические преобразования в один проход. Это важно для качества: если сначала отдельно исправить дисторсию, затем повернуть изображение, потом изменить проекцию и ещё раз масштабировать, каждый промежуточный ресэмплинг добавит собственную ошибку. В типичном скриптовом процессе параметры можно рассчитать заранее, а окончательное перемещение пикселей выполнить один раз.
- PTStitcher преобразует и объединяет кадры по параметрам проекта.
- PTOptimizer подбирает значения переменных, чтобы связанные контрольные точки совпадали.
- PTPicker помогает вручную ставить и редактировать контрольные точки на парах кадров.
- Correct исправляет радиальную геометрию, сдвиги каналов, яркость по радиусу, наклон и масштаб.
- Perspective меняет направление взгляда и имитирует геометрический эффект сдвига объектива.
- Remap переводит изображение между поддерживаемыми панорамными проекциями.
- Adjust извлекает и вставляет виды, совмещает изображения и работает со скриптом.
- PTEditor показывает панораму интерактивно и позволяет позиционировать добавленные фотографии.
Логика проекта: от исходников до результата
Надёжный проект начинается не со шва, а с геометрии. Для каждого исходника важно правильно определить тип проекции объектива и приблизительное горизонтальное поле зрения. Если эти данные ошибочны, оптимизатор может пытаться компенсировать исходную ошибку поворотами и коэффициентами коррекции. Численно решение иногда выглядит правдоподобно, но линии на готовой панораме изгибаются, горизонт уходит волной, а края кадров требуют чрезмерной деформации.
После описания исходников выбирают проекцию панорамы и её поле зрения. Для полного сферического результата естественной является эквидистантная цилиндрическая, или equirectangular, карта, где горизонтальная координата связана с углом поворота, а вертикальная — с углом наклона. Для широкого, но не полного кругового сюжета может быть удобнее цилиндрическая проекция. Прямолинейная проекция лучше сохраняет прямые линии, но при большом угле охвата сильно растягивает края.
Следующий этап — контрольные точки. Это пары координат, которые обозначают одну и ту же физическую деталь на двух перекрывающихся кадрах. По ним PTOptimizer оценивает, насколько текущая геометрия проекта согласована. Чем лучше точки распределены по перекрытию и чем точнее они поставлены, тем устойчивее определяется взаимный поворот кадров и параметры объектива.
Оптимизацию разумно выполнять поэтапно. Сначала добиваются правильного взаимного положения кадров, затем при необходимости разрешают изменять параметры объектива. Одновременная свобода слишком большого числа переменных затрудняет диагностику: если ошибка уменьшилась, но неизвестно, за счёт какого параметра, сложнее понять, получила ли модель физически разумную геометрию. После оптимизации полезно снова просмотреть пары изображений и удалить явно ошибочные точки.
Когда геометрия проверена, PTStitcher получает скрипт и выполняет преобразование. На этом этапе уже не следует пытаться лечить плохие контрольные точки увеличением feather или маскировкой шва. Мягкое перекрытие помогает скрыть небольшую разницу яркости и саму границу объединения, но не способно исправить несовпадающие контуры зданий, раздвоенные ветки, лестницы или элементы интерьера.
PTPicker и ручные контрольные точки
PTPicker предназначен для визуальной работы с проектом и контрольными точками. Сначала открывается или создаётся файл проекта, затем выбирается пара изображений, которые имеют общее перекрытие. В двух окнах пользователь находит одинаковую деталь и связывает её координаты. Эти данные записываются в проект и затем используются оптимизатором.
Как устроены точки в окнах PTPicker
Цвет точки показывает её состояние. Выбранная точка отображается красным. Связанная точка, которая не выбрана в текущий момент, показывается зелёным. Синяя точка означает, что для неё нет пары во втором открытом окне. Это полезно при проекте из нескольких фотографий: точку можно сначала поставить на одном изображении, затем открыть нужный соседний кадр и связать её с соответствующей деталью.
В меню просмотра можно скрывать несвязанные точки или снова показать все. Размер и цвета маркеров настраиваются. При плотной сетке это помогает уменьшить визуальный шум и сосредоточиться на парах, которые действительно участвуют в текущей проверке.
Постановка и перемещение точки
В режиме установки щелчок по переднему окну создаёт выбранную точку; во втором окне появляется связанный маркер, который затем перетаскивается на ту же деталь. Небольшая лупа помогает точнее попасть в угол, пересечение линий или другую локальную особенность. Существующую точку можно выбрать повторным щелчком, а выбранные точки удалить через команду очистки или клавишу Backspace.
Отдельный режим Select удобен, когда нужно только выбирать уже существующие маркеры и нет риска случайно создать новый. Для обычной панорамы треугольники PTPicker не требуются: они предназначены для задач, связанных с трёхмерными объектами, морфингом и интерполяцией видов, и при панорамной сшивке игнорируются.
Масштаб и точность
Команды Zoom позволяют увеличить фрагмент, а Normal возвращает исходное увеличение. При увеличении PTPicker может точнее задавать координаты точки относительно пиксельной сетки. Практически это особенно заметно на далёких архитектурных деталях и тонких линиях, где ошибка даже в несколько пикселей на исходнике превращается в заметное раздвоение после сильного геометрического преобразования.
Команда Find помогает перейти к точке по её номеру: программа загружает соответствующие изображения, прокручивает их к нужной области и выделяет маркер. Для большого проекта это быстрее, чем вручную искать пару, указанную в отчёте оптимизации или замеченную при проверке скрипта.
Как выбирать хорошие точки
Лучше всего работают детали, положение которых можно определить однозначно на обоих кадрах: угол окна, пересечение контрастных граней, вершина дорожного знака, небольшой выступ на фасаде. Однородное небо, мягкая тень, листва, вода и широкая текстура без чёткого центра дают более неопределённую координату. Точки на движущемся объекте вообще не описывают одну и ту же геометрию сцены и способны увести оптимизацию в сторону.
Нежелательно складывать все точки в узкую область перекрытия. Распределение по высоте и ширине даёт оптимизатору больше геометрической информации. Если все маркеры лежат на одной почти горизонтальной линии, некоторые параметры различаются слабо и модель становится менее устойчивой. Для интерьера полезно задействовать и верхнюю, и нижнюю часть перекрытия; для фасада — разные уровни и удалённые друг от друга углы.
На близких предметах следует учитывать параллакс. Если камера вращалась не вокруг подходящей точки, относительное положение переднего плана и фона меняется между кадрами. Тогда одна модель поворота не может одновременно идеально совместить оба расстояния. В таком случае контрольные точки лучше ставить на основной значимый план, а проблемные области шва выбирать так, чтобы переход не пересекал детали с сильным параллаксом.
| Тип области | Подходит для точки | Причина |
|---|---|---|
| Угол здания | Да | Координата определяется однозначно на двух кадрах |
| Пересечение тонких линий | Да | Удобно проверять точное совпадение |
| Однородное небо | Нет | Нет локальной детали для надёжной привязки |
| Вода и листва на ветру | Обычно нет | Содержимое может меняться между кадрами |
| Близкий объект при параллаксе | С осторожностью | Его положение относительно фона меняется |
PTOptimizer: что оптимизируется и зачем
PTOptimizer использует контрольные точки как ограничения и подбирает переменные проекта так, чтобы координаты одинаковых деталей после преобразования располагались как можно ближе. В базовой панорамной задаче главными переменными являются углы ориентации отдельных кадров: yaw описывает поворот по горизонтали, pitch — наклон вверх или вниз, roll — вращение вокруг оптической оси.
Кроме ориентации, Panorama Tools умеет оптимизировать параметры коррекции объектива. Это позволяет не только переместить изображение целиком, но и уточнить форму его деформации. Такой режим полезен, когда широкоугольный объектив заметно отклоняется от идеальной модели и без коррекции нельзя согласовать линии по всему перекрытию.
Оптимизатор не знает, какой кадр пользователь считает базовым и какая геометрия выглядит естественно для конкретной сцены. Поэтому хотя бы часть параметров должна задавать систему отсчёта. На практике один кадр обычно оставляют опорным по ориентации, а остальные подгоняют относительно него. Если разрешить всей группе свободно вращаться без опоры, математически возможны эквивалентные решения, которые отличаются общим поворотом всей панорамы.
После расчёта важно оценивать не только числовую ошибку, но и изображение. Слишком гибкая модель способна уменьшить расхождение контрольных точек за счёт неестественной коррекции объектива. Признаки такого случая — сильное растяжение по краям, изломы прямых линий и коэффициенты, которые резко отличаются между кадрами, снятыми одним и тем же объективом при одинаковом фокусном расстоянии.
Безопасный порядок оптимизации
- Проверить тип объектива и приблизительное поле зрения каждого исходника.
- Зафиксировать опорный кадр и сначала уточнить ориентацию соседних изображений.
- Просмотреть точки с большим видимым несовпадением и исправить их вручную.
- Только затем разрешить корректировать параметры объектива, если остаточная ошибка имеет систематический характер.
- Повторно проверить линии по краям и в центре, а не ограничиваться одним числом.
PTStitcher: преобразование и сборка панорамы
PTStitcher выполняет расчёт, описанный в проектном скрипте. Для каждого исходника ему известны проекция, поле зрения, углы положения и дополнительные параметры коррекции; для результата задаются размеры, проекция и охват. На основе этих данных изображение переводится в координатную систему панорамы и помещается в нужную область.
Скриптовый принцип делает процесс воспроизводимым. Если после тестового результата нужно изменить только размер панорамы или одну переменную, не требуется заново вводить все настройки вручную. Можно скорректировать проект, снова выполнить оптимизацию при необходимости и повторить Stitcher с теми же исходными связями.
Смешивание перекрытий является отдельной задачей от геометрического совпадения. В инструментах семейства Panorama Tools предусмотрены режимы объединения, мягкая граница feather и цветовая подгонка перекрывающихся изображений. Они полезны при небольших различиях экспозиции и для менее заметного шва, однако правильное совмещение контуров всегда должно быть получено геометрией проекта.
Для сложной сцены полезен промежуточный результат, в котором кадры остаются доступными по отдельности. В фильтрах Panorama Tools предусмотрено создание файла, куда следующие изображения могут добавляться слоями; если у результата есть альфа-канал, для перекрытия формируется мягкая маска. Это оставляет возможность вручную поправить границу, скрыть движущийся объект на одном из слоёв или выбрать более удачный фрагмент исходника.
Когда Stitcher выдаёт технически правильный, но плохой результат
Чаще всего причина находится до этапа сшивки: неверный HFOV, неправильный тип объектива, точки на движущихся деталях, слабое распределение точек или параллакс. Если шов расходится только в одной локальной области, нужно проверить именно пары, которые покрывают этот участок. Если искривление нарастает к краям многих кадров, вероятнее ошибка модели объектива или поля зрения.
Если вся панорама наклонена, но соседние изображения совпадают, геометрия между кадрами может быть хорошей — требуется изменить общую ориентацию или опорный кадр. Если же каждый следующий кадр постепенно уходит выше предыдущего, полезно проверить roll и распределение контрольных точек по вертикали.
Correct: коррекция объектива и каналов
Фильтр Correct собирает несколько геометрических и тональных коррекций. В диалоге Correct Options отдельными пунктами доступны Radial shift, Vertical shift, Horizontal shift, Shear, Scale, Radial Luminance, Cut Frame и Fourier Filter. Для большинства операций есть собственная кнопка Options, а общие параметры вывода открываются через Prefs. Настройки можно сохранять и загружать, поэтому удобно держать проверенный набор коэффициентов для одного объектива или сканера и применять его к серии кадров с одинаковой геометрией.
Radial shift и полиномиальная модель
Radial shift меняет положение пикселей по расстоянию от центра изображения. Для расчёта используется полином третьего порядка с коэффициентами a, b, c и d. Нейтральное преобразование получается при нулевых a, b, c и единичном d. Изменяя коэффициенты, можно компенсировать бочкообразную или подушкообразную дисторсию, а также отклонение реального fisheye-объектива от идеальной радиальной модели.
Коэффициенты задаются отдельно для цветовых каналов. Это позволяет использовать ту же геометрическую модель для коррекции поперечной хроматической аберрации: красный, зелёный и синий каналы немного по-разному смещаются относительно центра, пока цветные каймы на контрастных краях не уменьшатся. Важно оценивать результат и в центре, и у углов, потому что радиальная ошибка растёт с расстоянием от оптической оси.
В интерфейсе коэффициенты представлены четырьмя числами для каждого канала. Если задача состоит только в геометрической дисторсии без заметной цветовой разницы, значения каналов имеет смысл держать согласованными. Если требуется хроматическая коррекция, сначала лучше получить удовлетворительную геометрию, а затем вносить небольшие различия между каналами. Иначе одновременно меняются две причины ошибки и становится труднее понять, какая правка дала эффект.
Vertical shift и Horizontal shift
Vertical shift и Horizontal shift выполняют постоянный линейный сдвиг, причём величину можно задавать отдельно для цветовых каналов. Такой механизм рассчитан прежде всего на ошибки совмещения каналов при сканировании, когда один цвет систематически смещён на долю пикселя относительно другого. В отличие от Radial shift, здесь величина не зависит от расстояния до центра.
В отдельном окне Horizontal Shift видны поля для красного, зелёного и синего каналов. Рабочая проверка проста: выбирают высококонтрастную вертикальную или диагональную границу, увеличивают изображение и изменяют сдвиг только того канала, который образует цветную кайму. После совпадения в центре нужно проверить несколько областей по всему кадру. Если ошибка меняется с радиусом, постоянного сдвига недостаточно и следует вернуться к радиальной модели.
Вертикальный и горизонтальный варианты Radial shift
У радиальной коррекции есть режимы, в которых преобразование применяется не как обычное симметричное смещение от центра. В варианте vertical изменяется только вертикальная составляющая, а единица нормируется относительно половины высоты изображения. Такой режим предназначен для геометрических искажений панорамных камер. В варианте horizontal горизонтальное смещение зависит от вертикального расстояния до центральной линии, что позволяет корректировать характерные ошибки сканирующих камер.
Shear и Scale
Shear изменяет наклон координатной сетки, позволяя компенсировать перекос, при котором прямоугольная область превращается в параллелограмм. Это не замена Perspective: shear работает как линейное геометрическое преобразование и полезен при простом систематическом перекосе. Scale изменяет размер; если один из размеров задан нулём, Panorama Tools сохраняет пропорции, вычисляя вторую сторону по исходному соотношению.
При сильном уменьшении изображения документация предупреждает о возможных проблемах алгоритма Scale. Поэтому уменьшение более чем примерно вдвое лучше проверять на мелких деталях и диагональных линиях. Если основная задача — сшивка панорамы, разумнее сразу задать нужный размер результата и избежать лишнего отдельного масштабирования исходников.
Radial Luminance
Radial Luminance компенсирует падение яркости к краям кадра центральным радиальным градиентом. Параметр амплитуды определяет, насколько изменится яркость между центром и периферией: часть поправки вычитается из центральной области, часть добавляется к краям. Такой инструмент полезен для широкоугольных кадров, у которых виньетирование заметно мешает равномерному шву.
Тональную коррекцию важно не путать с геометрической. Если две фотографии не совпадают по контурам, Radial Luminance это не исправит. Если же геометрия хорошая, но по краю каждого исходника видна плавная темнеющая полоса, радиальная компенсация способна уменьшить повторяющийся рисунок яркости до сшивки.
Cut Frame
Cut Frame автоматически ищет наиболее яркий прямоугольник заданного размера и удаляет рамку вокруг него. Это рассчитано на сканы, где полезная область окружена заметной рамкой, в том числе на круглые fisheye-кадры. Для негативов с белой рамкой предусмотрен практический приём: инвертировать изображение, выполнить поиск рамки, затем вернуть исходную полярность.
Поскольку Cut Frame меняет размеры, значение имеют общие настройки вывода фильтра. Если результат больше или меньше исходного холста, интерфейс Photoshop-совместимого фильтра сам по себе не может просто вернуть изображение другого размера в прежний документ. Panorama Tools решает это через режимы кадрирования, временного файла и открытия полного результата.
Интерполяция, гамма и качество ресэмплинга
Любое изменение проекции требует вычислить значения пикселей в новых координатах. Новая точка почти никогда не попадает точно на исходный пиксель, поэтому программа интерполирует цвет по соседним значениям. В Panorama Tools предусмотрено несколько вариантов интерполяции, различающихся вычислительной затратой и качеством. В исходной документации Polynomial используется как базовый вариант, а более сложные методы, включая Sinc, дают более качественный результат ценой скорости.
Выбор интерполятора особенно заметен на тонких высококонтрастных линиях, мелком орнаменте и повторяющейся текстуре. Для черновой проверки геометрии нет смысла тратить максимум времени на самый тяжёлый вариант: сначала удобно получить небольшой тестовый результат, проверить точки, HFOV и проекцию, а затем выполнить окончательный расчёт с требуемым качеством.
Параметр Gamma позволяет линеаризовать данные перед преобразованием и вернуть гамма-кодирование после расчёта. Причина в том, что усреднение кодированных значений яркости не всегда соответствует усреднению реального света. На обычной фотографии разница может быть малозаметной, но на границе насыщенных или взаимодополняющих цветов неправильный расчёт способен создать тёмную полоску.
Использовать гамма-коррекцию следует осознанно: она может немного изменить воспринимаемую яркость. Если серия уже подготовлена в одном цветовом процессе, сначала стоит проверить короткий фрагмент с и без заданной гаммы и оценить именно те границы, где ожидается проблема. Для панорам важна согласованность: все кадры должны проходить одинаковую схему обработки.
Почему один ресэмплинг лучше нескольких
Главное преимущество комплексного преобразования состоит не в удобстве, а в сокращении числа интерполяций. Радиальная коррекция, поворот, изменение перспективы и перевод в панорамную проекцию математически могут быть объединены в одно обратное отображение: для каждого пикселя результата вычисляется, откуда взять значение в исходнике. Это сохраняет больше мелких деталей, чем последовательная запись нескольких промежуточных файлов.
Если приходится использовать фильтры по отдельности, полезно избегать промежуточного уменьшения и повторного увеличения. Лучше хранить исходный размер до последнего шага, а финальную ширину панорамы задавать уже при окончательной сборке. Так пользователь отделяет геометрическое качество от вопроса публикационного размера.
Perspective: исправление перспективы и направления взгляда
Perspective работает как программный аналог shift-объектива: меняет направление, относительно которого строится прямолинейная перспектива. Новое направление задаётся горизонтальным и вертикальным углом либо координатой на изображении. Для корректного результата требуется знать формат исходника — rectilinear или fisheye — и в большинстве случаев его горизонтальное поле зрения.
Инструмент полезен, когда камера была наклонена вверх при съёмке здания и вертикали расходятся. Вместо простого растягивания верхней части изображение пересчитывается через модель поля зрения. При этом неизбежно меняются границы полезной области: после сильной коррекции часть результата оказывается пустой, а некоторые области растягиваются сильнее других.
Размер назначения в Perspective влияет на охват, а не просто на масштаб. Кнопка Source подставляет исходные ширину и высоту, но пользователь может задать другие размеры. Важно понимать связь: при фиксированной геометрии изменение размера холста может включить больше или меньше поля зрения, поэтому нельзя оценивать перспективу только по числу пикселей.
HFOV как критический параметр
HFOV — горизонтальный угол, который охватывает исходный кадр. Для простого вращения вокруг центра точное значение может быть несущественным, но при смене направления взгляда оно определяет силу перспективного преобразования. Ошибка HFOV приводит к неверному соотношению растяжения центра и краёв. Поэтому лучше исходить из реальной геометрии объектива или из уже откалиброванного проекта, а не подбирать поле зрения только по внешнему виду одного кадра.
Для fisheye особенно важно выбрать правильный тип проекции, потому что одинаковый угол сцены отображается на матрицу иначе, чем у rectilinear-объектива. Если указать прямолинейный формат для fisheye, программа будет интерпретировать радиус изображения неверно, и никакая тонкая настройка наклона не исправит исходное несоответствие модели.
Практическая проверка Perspective
- Сначала выставить тип исходного изображения и достоверный HFOV.
- Выбрать вертикальную линию вблизи центра и несколько линий по краям.
- Менять направление взгляда небольшими шагами, следя не только за вертикалями, но и за растяжением углов.
- После коррекции проверить, достаточно ли исходных пикселей остаётся в важных областях.
- Если требуется дальнейшая сшивка, использовать одинаковую модель объектива для всей серии.
Remap: конвертация между проекциями
Remap преобразует одно и то же направление в пространстве между разными плоскими представлениями. В интерфейсе выбираются формат источника, формат результата и необходимые углы поля зрения. Поддерживаются rectilinear, цилиндрическая QTVR, equirectangular PSphere, варианты fisheye и отображение через выпуклое сферическое зеркало. Не каждая пара форматов имеет прямое преобразование, но многие переходы выполняются за один шаг, а остальные можно построить через промежуточную проекцию.
Rectilinear
Rectilinear соответствует обычной прямолинейной камере: прямые линии сцены, не проходящие через сильную дисторсию объектива, отображаются прямыми. Это удобный формат для извлечённого вида из панорамы — например, если нужно получить обычную фотографию участка стены, окна или фасада, отретушировать её и затем вернуть обратно.
QTVR cylindrical
Цилиндрическая панорама делает горизонтальную координату пропорциональной углу поворота, а вертикаль остаётся связана с прямолинейной геометрией. Она подходит для кругового горизонта, когда не требуется охватывать зенит и надир. По мере приближения к большим вертикальным углам такая проекция становится менее удобной, поэтому для полной сферы используется другой формат.
PSphere и equirectangular
В PSphere и современной терминологии equirectangular горизонтальная и вертикальная координаты связаны с углами pan и tilt. Полная сфера разворачивается в прямоугольник с охватом 360 градусов по горизонтали и 180 градусов по вертикали. Полюса при этом растягиваются по всей ширине строки, что нормально для карты сферы, но выглядит непривычно при прямом просмотре как обычной фотографии.
Fisheye horizontal и vertical
Для fisheye предусмотрены разные варианты ориентации. При vertical камера рассматривается как направленная вертикально, и панорамные данные извлекаются из окружности кадра в соответствии с этой ориентацией. В horizontal экватор проходит через центральную область изображения. Корректный выбор режима важен ещё до указания HFOV: неправильная ориентация меняет смысл координат.
Convex mirror
Remap умеет работать с изображением отражения в выпуклом сферическом зеркале. Такой источник можно перевести в панорамное представление, если известна геометрия зеркала. Это специализированный режим, но он показывает общий принцип Panorama Tools: программа оперирует не только типичной парой обычная фотография — панорама, а моделирует несколько способов проецирования направления на плоскость.
Зачем Remap при ретуши панорамы
Править растянутую область equirectangular-панорамы около зенита или надира неудобно. Remap позволяет извлечь нужный участок как rectilinear-вид, где линии и кисти ведут себя привычнее. После ретуши вид можно преобразовать обратно и вставить в исходную панораму. Такой цикл особенно полезен для удаления штатива, исправления локального дефекта или размещения элемента на стене без рисования прямо в сильно искажённой карте.
Adjust: извлечение, вставка и объединение изображений
Adjust объединяет несколько режимов работы. Он может извлекать произвольный вид из панорамы, вставлять обычное или панорамное изображение в заданное место, объединять несколько кадров и читать параметры из текстового скрипта. В режиме извлечения задаются размеры и формат вида, его HFOV, а также формат и поле зрения исходной панорамы. Положение определяется углами ориентации.
Если планируется последующая обратная вставка, панораму можно сохранить во внутреннем буфере. Затем отредактированный вид вставляется относительно того же буфера. Это избавляет от ручного поиска обратного преобразования: при одинаковых параметрах поля зрения и ориентации геометрия вставляемого фрагмента соответствует той области, из которой он был извлечён.
Blend, Paste и Feather
При вставке в загруженный буфер Adjust предлагает разные способы объединения. Blend размещает границу в области перекрытия, Paste накладывает вставляемое изображение целиком. Параметр feather смягчает переход. Автоматическая цветовая коррекция анализирует перекрытие и пытается согласовать каналы двух изображений; найденная поправка может применяться к одной или обеим сторонам.
Feather следует выбирать по масштабу ошибки. Слишком узкий переход оставляет видимую линию при небольшом перепаде тона. Слишком широкий размазывает различия по большой области и может создать двойные контуры при малейшем геометрическом рассогласовании. Сначала нужно добиться точного положения, затем выбирать ширину смешивания.
Скрипт вместо ручного ввода
Adjust может получать характеристики изображения, панорамы, положения и способа сшивки из внешнего текстового файла. Это позволяет выполнить несколько операций последовательно и воспроизвести их на другом наборе кадров. Скриптовый режим особенно ценен при серии с одинаковой камерой: геометрические константы не приходится вводить заново, а меняются только параметры, связанные с конкретным кадром.
Через извлечение прямолинейных видов с полем 90 градусов можно получить шесть граней куба из сферической или цилиндрической панорамы, а обратная операция собирает шесть кубических граней в панорамное представление. При этом важна строгая ориентация граней и согласованные параметры, иначе на стыках появится поворот или зеркальная перестановка.
Предпочтения вывода и работа с разными размерами
Photoshop-совместимый фильтр обычно получает от редактора существующий документ фиксированного размера, но многие операции Panorama Tools меняют поле зрения и габариты результата. Поэтому в Prefs предусмотрено несколько способов поступить с изображением, которое не совпадает с исходным холстом по ширине или высоте.
Первый способ — показать кадрированную или обрамлённую версию результата в размере исходного документа. Это удобно для быстрой операции, но может потерять данные и изменить фактически сохранённое поле зрения. Если края важны, такой режим нельзя выбирать автоматически только потому, что он проще.
Другой способ — создать полный временный файл. Для Photoshop-совместимого процесса Panorama Tools умеет использовать PSD, а в других случаях — TIFF. При последовательной обработке изображения могут добавляться в файл как слои. Если присутствует альфа-канал, мягкая маска помогает увидеть перекрытие и вручную доработать его после геометрического преобразования.
Можно также открыть созданный файл подходящей программой. Поведение зависит от хоста: часть редакторов умеет принять полный результат, другие требуют внешнего открытия. Gimp и GraphicConverter способны обрабатывать изменение размера иначе, поэтому набор доступных вариантов предпочтений у них отличается.
Как не потерять поле зрения
Главная ловушка — принять кадрирование под старый размер за нейтральный результат. После перспективного преобразования или remap нужные пиксели могут лежать за прежними границами. Если фильтр обрежет их, последующее увеличение холста уже не восстановит информацию. Для ответственной работы лучше сначала сохранить полный результат, проверить его границы и только потом выбирать финальный кадр.
При панорамной сшивке это особенно важно на концах длинной полосы и в верхней части equirectangular-карты. Небольшой запас холста помогает увидеть, не выходит ли значимая область за расчётную рамку из-за оптимизированного pitch или roll.
PTEditor: интерактивное размещение кадров
PTEditor сочетает интерактивный панорамный просмотр и управление исходными фотографиями. После создания нового проекта появляется пустой панорамный холст, а окно просмотра показывает выбранное направление внутри него. Перемещаться по виду можно мышью или клавиатурой: менять pan и tilt, а также увеличивать и уменьшать поле зрения.
Через Edit и Load New Image добавляется исходная фотография. Для неё открывается отдельное окно с миниатюрой, типом объектива, размерами и параметрами Field of View, Pan Angle, Tilt Angle и Roll Angle. После нажатия Show изображение отображается в панораме, но остаётся управляемым: углы можно изменять кнопками плюс и минус с выбранным шагом.
Формат исходного кадра выбирается из rectilinear, full-frame fisheye и circular fisheye. Ширина и высота показываются как информационные значения. Геометрия размещения задаётся полем зрения и тремя углами. Это позволяет быстро проверить приблизительное положение изображения до более точной оптимизации по контрольным точкам.
Встроенный viewer показывает текущую панораму постоянно. По команде отображения параметров в нижней части можно видеть pan, tilt и fov выбранного вида. Для диагностики это полезнее статического растянутого equirectangular-файла: пользователь оценивает панораму так, как она будет выглядеть при обычном просмотре направлениями.
Редактирование существующей панорамы
PTEditor можно использовать не только для первоначальной сборки. Он умеет извлекать прямолинейный вид из готовой панорамы, после чего такой фрагмент редактируется в обычной геометрии и вставляется обратно. Это решает проблему ретуши полюсов сферы и других участков, которые в equirectangular-представлении сильно растянуты.
Добавленные исходники остаются редактируемыми во время сеанса. Для каждого можно менять ориентацию и поле зрения, наблюдая эффект в viewer. Финалом может быть готовое панорамное изображение либо скрипт, который затем передаётся PTPicker или PTStitcher для более точной обработки.
Fisheye и внутренние кубические виды
При показе fisheye-кадров PTEditor внутренне переводит каждый источник в шесть rectilinear-граней куба. Поэтому изменение поля зрения такого источника требует повторного remap и занимает заметно больше времени, чем простая смена ориентации. Несколько fisheye-кадров одновременно создают множество внутренних граней и увеличивают потребление памяти.
PTEditor запускается через Java и использует библиотеку pano12. При крупной сферической сборке объём памяти Java становится практическим ограничением: если viewer не может держать внутренние изображения, сеанс следует запускать с большим лимитом памяти либо уменьшить тестовые исходники. Для окончательной сшивки затем можно вернуться к полному разрешению в PTStitcher.
PTViewer и проверка панорамы в проекции просмотра
PTViewer предназначен для просмотра панорам с интерактивным изменением направления. Для рабочего процесса Panorama Tools это не просто способ показа готового результата: viewer помогает увидеть дефекты, которые в плоской equirectangular-карте трудно оценить. При обычном просмотре становятся очевидны наклон вертикалей, локальное растяжение, резкий скачок масштаба на шве и ошибка горизонта.
Полезно проверять несколько направлений: центр каждого исходного кадра, зоны перекрытия, верх и низ сферы. Шов, который выглядит аккуратно на экваторе карты, может стать заметным при наклоне вверх из-за растяжения проекции. И наоборот, сильное растяжение изображения у верхней границы equirectangular-файла является нормальным свойством карты и в интерактивном окне может выглядеть правильно.
При оценке качества нужно различать дефект проекции и дефект исходных данных. Прямая линия в rectilinear-виде должна выглядеть прямой, если модель объектива и ориентация заданы корректно. Та же линия на equirectangular-карте может быть кривой, потому что карта представляет сферу на прямоугольнике. Поэтому геометрическое решение лучше проверять в том представлении, для которого предназначена панорама.
Форматы и типы изображения в рабочем процессе
Panorama Tools различает формат файла и геометрическую проекцию. JPEG, TIFF или PSD определяют способ хранения пикселей, тогда как rectilinear, cylindrical, equirectangular и fisheye описывают связь между направлением в пространстве и координатой пикселя. Ошибка в выборе проекции существенно опаснее ошибки расширения файла: программа будет преобразовывать геометрию по неверной модели.
В фильтрах результат изменённого размера может сохраняться как TIFF или PSD в зависимости от хоста и выбранных предпочтений. PSD полезен там, где требуется сохранить слои и альфа-маски для ручной доводки швов. TIFF удобен как полноразмерный промежуточный растровый файл, когда слоистая структура не нужна.
Скрипт проекта — отдельный тип данных. Он хранит геометрические параметры и связи, а не сами пиксели. Поэтому перенос проекта требует сохранить доступность исходных изображений по ожидаемым именам и расположению. В PTPicker изображения проекта должны находиться там, где программа может их найти вместе со скриптом; если файлы переименованы или перемещены, сначала следует восстановить структуру, а не заново ставить точки.
| Сущность | Что хранит | Для чего используется |
|---|---|---|
| Исходная фотография | Пиксели кадра | Материал для коррекции и сшивки |
| Проектный скрипт | Проекции, углы, HFOV, точки и параметры | Воспроизводимое описание геометрии |
| TIFF | Полноразмерный растровый результат | Промежуточная или финальная обработка |
| PSD | Растр и при соответствующем процессе слои | Ручная доработка перекрытий |
| Equirectangular-панорама | Карта направлений сферы | Полный сферический результат |
Полная сферическая панорама 360×180
Для полного окружения вокруг точки съёмки недостаточно одного горизонтального ряда. Нужно закрыть всю сферу: 360 градусов по азимуту и диапазон от надира до зенита. В equirectangular-представлении это прямоугольная карта, в которой левый и правый края соответствуют одному направлению и должны соединяться без скачка.
Главная геометрическая задача — обеспечить перекрытие не только по горизонтали, но и между рядами. Если верхний и нижний ряды связаны с центральным только в небольших однородных областях, оптимизация вертикального положения может быть нестабильной. Контрольные точки между рядами следует распределять по нескольким азимутам, чтобы верхняя и нижняя части не могли свободно провернуться относительно экватора.
Зенит и надир требуют особого внимания. На equirectangular-карте полюс растягивается по всей ширине, поэтому локальная ретушь непосредственно в карте неудобна. PTEditor или цикл extract/insert через Adjust позволяют получить rectilinear-вид, где участок около полюса занимает обычную прямоугольную область, затем вернуть изменения в сферическую карту.
Левый и правый края результата необходимо проверять как один шов. Если цвет или геометрия на них различаются, в интерактивном viewer при повороте через нулевой азимут будет заметен скачок. Удобно временно выбрать направление просмотра так, чтобы этот стык оказался в центре окна, и оценить его как обычную область перекрытия.
Контроль полного охвата
- Проверить, что нет пустых областей между рядами и у полюсов.
- Убедиться, что край 0 градусов согласован с краем 360 градусов.
- Просмотреть несколько вертикальных направлений, а не только горизонт.
- Оценить растяжение важных объектов возле зенита и надира.
- Перед финальной сшивкой проверить точки между соседними рядами.
Многоярусные панорамы и наклонённые кадры
PTStitcher не ограничивается одним горизонтальным рядом. Каждый кадр описывается собственными yaw, pitch и roll, поэтому в одном проекте можно объединять верхние и нижние ряды, а также изображения, снятые с наклоном. Это позволяет увеличить вертикальный охват и разрешение, используя обычный объектив вместо экстремально широкого.
При многоярусной съёмке важна связность графа контрольных точек. Если все верхние кадры хорошо связаны между собой, но имеют только одну слабую связь с нижними, два ряда могут оптимизироваться как почти независимые группы. Практически полезно иметь перекрёстные связи в нескольких местах по окружности и проверять, что вертикальные линии переходят через границу рядов без ступеньки.
Roll особенно заметен в рядах с наклоном. Небольшой поворот камеры вокруг оптической оси меняет ориентацию всех линий в кадре, а при широком поле зрения ошибка становится выраженной на краях. Не стоит пытаться исправлять её радиальными коэффициентами: сначала нужно привести ориентацию, затем оценивать остаточную форму дисторсии.
Проекция результата выбирается по назначению, а не по схеме съёмки. Один и тот же набор из нескольких рядов можно рассчитать в equirectangular для сферы, в цилиндрическую проекцию для длинной полосы или в rectilinear для очень широкого, но ограниченного по углу кадра. Меняется карта результата, тогда как геометрия взаимного положения исходников сохраняется.
Калибровка объектива перед большим проектом
Если десятки кадров сняты одним объективом, выгоднее один раз получить разумную модель, чем позволять каждому изображению независимо компенсировать дисторсию. Для калибровки выбирают кадры с хорошо различимыми прямыми линиями и перекрытиями по разным частям поля. Затем оценивают HFOV и радиальные коэффициенты так, чтобы одна модель работала и в центре, и у краёв.
Radial shift задаёт форму коррекции полиномом. Важен не сам набор чисел, а устойчивость результата: после исправления вертикальная или горизонтальная линия не должна становиться прямой в одной зоне и изгибаться в другой. Если улучшение требует резко разных коэффициентов для кадров, снятых без изменения фокусировки и масштаба, стоит сначала проверить центр изображения, crop и исходный HFOV.
Хроматическую коррекцию удобно калибровать после геометрической. Для неё ищут контрастные края ближе к периферии и сравнивают каналы. Если цветная кайма меняет направление относительно центра, это типичный признак радиальной разницы масштабов каналов. Постоянный Vertical или Horizontal shift подходит для систематического линейного смещения, характерного для сканирования.
После получения параметров их можно сохранить средствами Correct и повторно загрузить для серии. Но применять набор без проверки нельзя, если изменились фокусное расстояние, кадрирование, масштабирование исходника или способ сканирования: нормировка радиуса связана с размером изображения, а фактическая геометрия объектива зависит от режима съёмки.
Что проверять на тестовой сетке
- Прямые линии у центра и у четырёх краёв.
- Симметрию исправления слева и справа.
- Цветные каймы на контрастных границах.
- Соответствие одинаковых деталей после remap.
- Отсутствие неожиданного crop или изменения HFOV.
Сканированные изображения и специальные коррекции
Panorama Tools содержит функции, которые связаны не только с фотообъективом, но и со сканерами. При многоканальном сканировании возможна небольшая регистрационная ошибка: цветовые каналы снимаются не строго в одной координате. Vertical shift и Horizontal shift позволяют компенсировать постоянное смещение каналов, а специальные варианты Radial shift — ошибку, зависящую от положения.
Для сканирующих панорамных камер горизонтальный сдвиг может зависеть от вертикальной координаты. Именно поэтому в Correct есть режим, где горизонтальное перемещение определяется расстоянием от центральной линии. Это отличается от обычной оптической бочки: геометрия ошибки связана с механизмом построчного или щелевого считывания.
Cut Frame полезен при пакетной подготовке сканов с рамками. Пользователь задаёт размеры полезного прямоугольника, а алгоритм ищет самую яркую область такого размера. Метод хорошо соответствует сканам с выраженной рамкой, но не предназначен для интеллектуального распознавания сюжета. Если внутри изображения есть большая яркая область, нужно проверить, не выбрана ли она вместо ожидаемой рамки.
Radial Luminance может компенсировать плавное падение яркости от центра, но его коэффициент не заменяет полноценную неравномерную калибровку сканера. Он моделирует именно радиальный градиент. Если полосы яркости идут по направлению сканирования или имеют локальный характер, причиной является другая ошибка и радиальная поправка может сделать кадр менее равномерным.
Сканирование круглого fisheye
У круглого fisheye вокруг полезного круга часто остаётся рамка. После точного crop меняется положение оптического центра относительно границ изображения, поэтому порядок операций важен. Сначала следует привести кадры к одинаковому прямоугольнику, затем калибровать радиальную модель на этой геометрии. Если потом обрезать изображения по-разному, сохранённые коэффициенты и центр уже описывают другую систему координат.
Слои, маски и ручная доводка швов
Автоматическое объединение не всегда выбирает лучший фрагмент перекрытия. Движущийся человек, автомобиль, ветка или волна могут присутствовать в разных положениях. Если результат формируется со слоями и альфа-масками, геометрическое преобразование Panorama Tools остаётся базой, а пользователь вручную выбирает, какой исходник виден в спорной области.
Такой подход нельзя использовать для маскировки серьёзной ошибки ориентации. Если контуры статичного здания расходятся, переключение слоя лишь переносит место разрыва. Сначала нужно исправить контрольные точки и модель объектива. Маска полезна после того, как статичные детали в перекрытии совпадают.
Feather создаёт плавный переход, но ширина должна соответствовать содержимому. На однородном небе можно использовать широкую область, потому что небольшая смесь не создаёт двойных контуров. На ограде, проводах или тексте лучше размещать границу там, где один кадр явно доминирует, и не смешивать несовпадающие тонкие структуры на большой ширине.
Цветовую разницу также лучше исправлять до ручной маскировки. Adjust способен анализировать перекрытие и корректировать каналы, а Radial Luminance — компенсировать систематическое затемнение по краям. Чем равномернее исходники, тем меньше вероятность, что ручная маска проявится как светлая или тёмная полоса.
Совместимость и условия запуска инструментов
На Windows фильтры Correct, Adjust, Perspective и Remap рассчитаны на Photoshop-совместимый хост, который работает в 32-битной среде и умеет загружать соответствующие plug-in-файлы. Библиотека pano12.dll должна быть доступна хосту; для совместной работы с PTStitcher и PTOptimizer документация предусматривала размещение библиотеки в системном каталоге Windows. Это важное ограничение при попытке использовать фильтры в современных 64-битных редакторах.
На Macintosh существовали варианты для Photoshop-совместимого хоста и GraphicConverter, использующие библиотеку pano12.lib. Для GraphicConverter набор фильтров подключался через собственную папку plug-ins. На Linux фильтр PanTools предназначался для Gimp и размещался в каталоге расширений пользователя. Эти различия относятся именно к интерфейсным фильтрам; проектная логика Panorama Tools и скриптовые параметры от них не меняются.
PTEditor использует Java и библиотеку pano12. Он запускается через JAR, поэтому при проблемах памяти имеет смысл контролировать параметры Java. PTPicker также использует собственный графический интерфейс для проекта и точек. Для пользователя это означает, что разные части рабочего процесса имеют разные требования: успешный запуск PTStitcher сам по себе не гарантирует, что фильтры загрузятся в современный графический редактор.
Старый файл настроек как источник сбоя
Документация отдельно предупреждает о старых файлах предпочтений. При замене компонентов несовместимый файл настроек способен вызвать сбой. Если фильтр падает сразу после открытия или после смены набора файлов, стоит исключить сохранённые предпочтения и дать программе создать их заново, а уже затем возвращать сохранённые коэффициенты вручную.
Типичные ошибки Panorama Tools и способы их исправления
Кадры совпадают в центре, но расходятся по краям
Такой рисунок обычно указывает не на простой поворот, а на неверное поле зрения или радиальную модель. Сначала проверьте, правильно ли выбран rectilinear или fisheye, затем оцените HFOV. Если ошибка симметрично растёт к периферии, имеет смысл корректировать коэффициенты Radial shift и снова выполнить оптимизацию. Не увеличивайте feather: он лишь размоет область несовпадения.
После оптимизации панорама стала волнистой
Проверьте, не разрешено ли оптимизатору слишком много параметров одновременно. Ошибочные точки или слабая геометрия могут заставить модель компенсировать их чрезмерной дисторсией. Верните разумные параметры объектива, оставьте один кадр опорным, удалите точки с очевидно неправильными парами и повторите расчёт сначала только для углов ориентации.
Все точки хорошие, но близкий объект двоится
Причина может быть в параллаксе. Если камера при съёмке смещалась относительно центра вращения, передний план меняет положение относительно фона. Одна сферическая модель поворота не может точно совместить оба расстояния. Выберите основной план для контрольных точек и расположите шов так, чтобы он не пересекал близкий объект, либо используйте слой одного исходника в этой области.
Вертикали наклонены одинаково по всей панораме
Если соседние кадры соединяются без раздвоения, проблема скорее относится к общей ориентации. Проверьте roll опорного кадра и направление горизонта. Изменять радиальную коррекцию в этой ситуации не нужно: она меняет форму изображения, а не общий поворот всей системы координат.
Каждый следующий кадр постепенно уходит вверх
Проверьте pitch, roll и вертикальное распределение контрольных точек. Набор точек, сосредоточенный на одной горизонтальной линии, хуже ограничивает наклон. Добавьте пары выше и ниже этой линии, особенно между теми кадрами, где накопленное расхождение становится заметным.
После Remap результат выглядит слишком растянутым
Сначала убедитесь, что растяжение не является нормальным свойством выбранной проекции. Equirectangular закономерно растягивает область около полюсов. Если искажение видно в rectilinear-виде, проверьте тип источника, HFOV и направление преобразования. Ошибочно заданный fisheye как rectilinear обычно даёт резко неправильную геометрию.
Perspective обрезает важные края
Перспективная коррекция выводит часть пикселей за исходный прямоугольник. Используйте режим, который сохраняет полный результат изменённого размера, а не возвращает кадр в старый холст. После этого выберите окончательный crop вручную. Увеличение исходного холста уже после фильтра не восстановит ранее отброшенные пиксели.
После Correct появились цветные контуры
Проверьте, не заданы ли разные коэффициенты RGB без необходимости. Для чистой геометрической коррекции каналы должны двигаться согласованно. Раздельные коэффициенты используйте только при подтверждённой хроматической ошибке и контролируйте несколько контрастных границ на разных радиусах.
Chromatic correction работает в одном углу, но ухудшает другой
Возможны неверный центр, различное кадрирование или недостаточная модель ошибки. Сравните симметричные области слева и справа. Если цветная кайма ведёт себя не радиально, постоянные коэффициенты каждого канала не описывают всю причину. Не пытайтесь любой ценой убрать один край, если это создаёт более заметную ошибку на противоположном.
Horizontal shift помогает в центре, но не на краях
Постоянный сдвиг исправляет только одинаковое смещение по всему изображению. Если величина ошибки растёт с удалением от центра, используйте радиальную коррекцию каналов. Если смещение меняется по вертикали в сканирующем изображении, проверьте специализированный горизонтальный вариант Radial shift.
Cut Frame выбирает не ту область
Алгоритм ищет самый яркий прямоугольник заданного размера, а не распознаёт сюжет. Если внутри кадра есть более яркая область, поиск может сработать не так, как ожидается. Уточните размеры полезной области и проверьте контраст рамки. Для светлой рамки вокруг негатива применяется инверсия перед поиском и обратная инверсия после него.
Шов заметен только по яркости
Если контуры совпадают, геометрия уже близка к правильной. Проверьте радиальное падение яркости, общую экспозицию исходников и цветовую подгонку в Adjust. Feather скрывает локальный переход, но периодически повторяющаяся тёмная полоса по краям каждого кадра требует коррекции самих исходников.
Шов заметен как двойная линия
Это геометрическая ошибка. Уменьшите влияние мягкого смешивания при диагностике и посмотрите, где именно расходятся контуры. Затем найдите контрольные точки этой пары, исправьте их или добавьте новые. Если раздвоение усиливается к краям, дополнительно проверьте HFOV и дисторсию.
PTEditor показывает источник не в том месте
Проверьте Field of View, Pan Angle, Tilt Angle и Roll Angle в окне изображения. Если формат объектива выбран неверно, простое изменение углов не даст устойчивого совпадения. Для начального размещения достаточно приблизительных значений, но перед окончательной сшивкой проект лучше уточнить контрольными точками и оптимизатором.
PTEditor медленно реагирует на изменение fisheye
При изменении поля зрения fisheye PTEditor повторно создаёт внутренние rectilinear-гранями куба. Это существенно тяжелее, чем простой поворот уже рассчитанного вида. Сначала установите близкий к реальному FOV, затем корректируйте ориентацию; не используйте изменение FOV как замену pan или tilt.
PTEditor не хватает памяти
Несколько fisheye-кадров порождают множество внутренних кубических изображений. Для проверки можно уменьшить тестовые копии или увеличить доступную Java память при запуске. Финальный расчёт на полном разрешении затем выполняется PTStitcher по проверенному скрипту.
Фильтры не появляются в меню редактора
На Windows проверьте, что хост действительно поддерживает Photoshop-совместимые 32-битные plug-ins, файлы фильтров находятся в его каталоге Filters, а pano12.dll доступна процессу. Современный 64-битный редактор может не загружать старый двоичный модуль даже при правильном расположении файлов.
Фильтр падает сразу после запуска
Одной из документированных причин является старый файл предпочтений. Уберите прежние настройки, чтобы программа создала чистый файл, и проверьте запуск до возврата сохранённых параметров. Также убедитесь, что библиотека pano12 соответствует используемым компонентам и не подменена другим вариантом.
Результат меньше или больше исходника
Для Perspective, Remap, Cut Frame и некоторых режимов Adjust это ожидаемо: геометрическое преобразование меняет полезную область. Откройте Prefs и выберите осознанный способ обработки отличающегося размера. Если важны все пиксели, сохраняйте полный результат, а не кадрированную копию в пределах старого документа.
После повторной обработки коэффициенты неожиданно применились снова
Panorama Tools сохраняет предпочтения и параметры между сеансами. Перед новым объективом или другой задачей проверьте активные пункты Correct и загруженные значения. Надёжнее хранить отдельные подписанные наборы настроек и начинать серию с контрольного кадра, чем полагаться на состояние предыдущей работы.
Практические сценарии работы
Широкая панорама из одного горизонтального ряда
Подготовьте кадры с достаточным перекрытием и одинаковой геометрией. В PTPicker свяжите соседние фотографии точками на статичных деталях, распределив их по высоте. Зафиксируйте один средний кадр как опорный, оптимизируйте yaw, pitch и roll остальных, затем оцените общую линию горизонта. Для результата выберите цилиндрическую или rectilinear-проекцию в зависимости от охвата и необходимости сохранять прямые линии.
Круговая цилиндрическая панорама
Для полного оборота особенно важна связь последнего кадра с первым. Не рассматривайте цепочку как открытую: добавьте контрольные точки на замыкающем перекрытии и проверяйте накопленную ошибку вокруг всего круга. После PTOptimizer поместите шов 0/360 в центр проверочного вида PTViewer и убедитесь, что масштаб и высота совпадают.
Сферическая панорама из нескольких рядов
Свяжите каждый ряд горизонтальными парами, затем добавьте достаточно точек между верхним, центральным и нижним рядами. Отдельно включите кадры зенита и надира. Выводите equirectangular 360×180 и проверяйте не только карту, но и интерактивные rectilinear-направления. Дефекты у полюсов удобнее исправлять через извлечение вида.
Исправление бочкообразной дисторсии
Откройте Correct и активируйте Radial shift. Начните с согласованных коэффициентов RGB и тестового изображения с прямыми линиями, проходящими у краёв. Подбирайте полином так, чтобы линия оставалась прямой на всём протяжении, а не только в одном участке. После получения стабильной модели сохраните её и проверьте на другом кадре того же объектива.
Коррекция цветных каёмок у широкоугольного объектива
Сначала исправьте общую геометрию. Затем на увеличенном контрастном крае ближе к углу сравните каналы и внесите небольшие различия в коэффициенты Radial shift для RGB. Проверьте симметричные края и центр. Если ошибка выглядит как одинаковое смещение по всему кадру, вместо радиальной модели используйте Vertical или Horizontal shift.
Выравнивание архитектурной перспективы
В Perspective выберите фактический тип объектива и задайте HFOV. Измените направление взгляда так, чтобы вертикали получили нужную ориентацию. Сохраняйте полный результат изменённого размера, потому что углы изображения при коррекции выходят за старые границы. После преобразования выберите crop, не отсекая важную архитектурную деталь.
Извлечение обычной фотографии из сферической панорамы
Используйте rectilinear как формат назначения и укажите направление pan, tilt и требуемое поле зрения. Чем шире FOV, тем сильнее растягиваются края rectilinear-вида, поэтому для точной ретуши лучше извлекать умеренный участок. Сохраните параметры извлечения, если фрагмент затем нужно вставить обратно в ту же область.
Ретушь надира
Направьте rectilinear-вид вниз, извлеките область вокруг надира и редактируйте её как обычное изображение. После ретуши вставьте фрагмент обратно с теми же геометрическими параметрами и используйте мягкое перекрытие только по краю. Такой метод избегает работы с растянутой нижней строкой equirectangular-карты.
Замена локального фрагмента панорамы
Сохраните исходную панораму в буфер Adjust, извлеките нужный вид, исправьте его и затем используйте Insert. Если геометрия не менялась, вставляемый фрагмент вернётся на исходное место. Blend удобен для мягкого соединения, Paste — когда область должна полностью заменить содержимое буфера.
Преобразование fisheye в rectilinear
В Remap укажите правильный fisheye-режим и фактический угол поля зрения, а назначением выберите rectilinear. Выберите направление и размер так, чтобы нужный участок не попадал слишком далеко от центра нового вида. При очень широком rectilinear-охвате края растягиваются по законам перспективы, поэтому не стремитесь вместить весь 180-градусный круг в один плоский кадр.
Преобразование шести кубических граней в сферу
Для каждой грани нужна согласованная rectilinear-геометрия с полем зрения 90 градусов и точная ориентация. Через Adjust можно вставить шесть граней в сферическое представление. Перед финальной записью проверьте все двенадцать ребер куба: ошибка ориентации одной грани проявляется сразу на нескольких стыках.
Получение кубических граней из панорамы
Выполните шесть извлечений rectilinear по 90 градусов в направлениях сторон куба. Такой набор удобен для редакторов или viewers, работающих с cubemap. Не меняйте FOV между сторонами и сохраняйте одинаковый размер квадратов, иначе границы не будут соответствовать единой кубической проекции.
Подготовка скана с рамкой
Определите ожидаемые размеры полезной области и примените Cut Frame к тестовому скану. Проверьте, что алгоритм выбирает именно кадр, а не яркий объект внутри изображения. После crop используйте одинаковую геометрию для всей серии; радиальную калибровку и сдвиги каналов выполняйте уже на одинаково обрезанных кадрах.
Компенсация виньетирования перед сшивкой
На кадре с однородной поверхностью оцените падение яркости от центра к краям. Radial Luminance позволяет задать радиальный градиент компенсации. После применения сравните перекрытие двух соседних кадров: края не должны становиться светлее центра. Если неравномерность имеет полосатую или асимметричную форму, этот инструмент не соответствует типу дефекта.
Создание редактируемого результата со слоями
Выберите в предпочтениях сохранение полного результата в формате, поддерживающем требуемый процесс слоёв. Последовательно преобразованные исходники могут быть добавлены в общий файл, а альфа-канал и feather формируют основу перехода. После этого вручную маскируйте движущиеся объекты, не меняя рассчитанную геометрию слоёв.
Черновая сборка для проверки геометрии
Сначала работайте с уменьшенной копией результата и более быстрым интерполятором. Цель теста — увидеть ошибку точек, поля зрения и проекции, а не оценивать микродетали. После исправления проекта верните требуемые размеры и качественный интерполятор и выполните один окончательный ресэмплинг исходных файлов.
Ручная проверка одной проблемной пары
Если локальный шов не удаётся исправить общей оптимизацией, откройте именно эту пару в PTPicker. Спрячьте несвязанные точки, увеличьте область проблемы и по очереди проверьте каждый зелёный маркер. Точки на ветках, людях и ближних предметах удалите или замените статичными деталями того же плана. После повторной оптимизации сравните расхождение в нескольких местах перекрытия.
Связывание точки через несколько кадров
Синяя точка в PTPicker может быть создана без пары во втором окне. Затем можно открыть другое изображение, выбрать эту точку и поставить соответствующий маркер. Такой приём помогает строить связи в серии, где одна заметная деталь присутствует не только в соседней паре, а сразу в нескольких кадрах. Важно не превращать каждую визуально похожую деталь в одну связь, если нельзя уверенно доказать, что это один объект.
Поиск проблемной точки по номеру
Когда в проекте много маркеров, используйте Find: номер ведёт к соответствующим изображениям и месту точки. Это удобный способ возвращаться от текстового проекта к визуальной проверке. После исправления полезно снова сохранить проект и убедиться, что новая координата действительно записана, прежде чем запускать долгую сшивку.
Изменение общей ориентации без пересчёта объектива
Если внутренние швы уже точны, а композиция наклонена, не нужно заново оптимизировать радиальные коэффициенты. Измените ориентацию системы — прежде всего yaw, pitch или roll опорного изображения либо эквивалентное направление результата. Затем сделайте небольшой тест и проверьте, что совпадение соседних кадров осталось прежним.
Проверка циклического шва на 360 градусов
Сформируйте панораму и откройте её как интерактивный вид. Поверните направление так, чтобы место соединения начала и конца equirectangular-карты оказалось прямо в центре. Оцените геометрию, яркость и резкость как обычный шов. Такой способ надёжнее, чем сравнивать левую и правую полосы файла, которые визуально разнесены по разным краям экрана.
Исправление систематического сдвига цветового канала скана
Найдите контрастную границу, где один цветовой канал смещён одинаково по всему изображению. В Correct активируйте Vertical shift или Horizontal shift и меняйте величину только нужного канала. После совпадения проверьте второй край кадра. Если там требуется другое значение, постоянный сдвиг не соответствует природе ошибки и нужна другая модель.
Сохранение набора коэффициентов для повторной серии
После калибровки используйте Save в Correct Options. Набор следует связывать не только с названием объектива, но и с условиями, влияющими на геометрию: фокусным режимом, crop и размером исходного изображения. Перед большой серией загрузите параметры на одном контрольном кадре и сравните прямые линии и цветные края, чтобы исключить применение неподходящей калибровки.
Замена режима интерполяции только на финальном расчёте
Геометрические параметры не зависят от того, каким качественным интерполятором выполнен тестовый вывод. Поэтому для итераций можно выбрать быстрый вариант, а после фиксации точек и проекции перейти к более тяжёлому. Это сокращает время ожидания и не заставляет пользователя жертвовать качеством окончательного изображения.
Параметры, которые чаще всего путают
| Параметр | Что меняет | Чего им не следует исправлять |
|---|---|---|
| Yaw | Горизонтальное направление кадра | Радиальную дисторсию объектива |
| Pitch | Наклон направления вверх или вниз | Виньетирование и цветовой сдвиг |
| Roll | Поворот кадра вокруг оптической оси | Подушкообразное искривление линий |
| HFOV | Горизонтальный угол охвата | Простой сдвиг изображения целиком |
| Radial shift | Форму радиальной геометрии | Параллакс между планами |
| Vertical shift | Постоянное вертикальное смещение канала | Ошибку, растущую с радиусом |
| Horizontal shift | Постоянное горизонтальное смещение канала | Неверный тип проекции |
| Shear | Линейный перекос координат | Сложную перспективу широкого поля |
| Radial Luminance | Радиальный градиент яркости | Геометрическое несовпадение шва |
| Feather | Мягкость границы перекрытия | Двойные контуры из-за плохих точек |
Большинство неудачных исправлений возникает, когда один параметр используют для компенсации дефекта другого типа. Например, чрезмерная радиальная коррекция иногда визуально подтягивает край кадра к соседнему, но одновременно изгибает прямые линии. Правильная диагностика начинается с формы ошибки: постоянный сдвиг, поворот, изменение масштаба с радиусом, тональная разница или параллакс имеют разные причины.
Поле зрения и размер результата
HFOV не равен ширине в пикселях. Два изображения могут иметь одинаковые размеры, но охватывать разные углы, и наоборот. При Perspective изменение размера назначения также не является простым масштабированием: оно связано с тем, какую область преобразованного поля пользователь хочет поместить в результат. В Remap поле зрения источника определяет интерпретацию его координат, а поле назначения — охват новой проекции.
Проекция и объектив
Rectilinear, fisheye и панорамные форматы описывают геометрический закон. Если fisheye-фото объявить rectilinear, оптимизатор видит систематическую ошибку, которую может ошибочно пытаться компенсировать коэффициентами и углами. Поэтому тип объектива должен быть согласован до точной настройки. Это особенно критично для кадров с очень широким охватом.
Коррекция и смешивание
Correct отвечает за геометрию и некоторые систематические тональные дефекты каждого изображения. Adjust и Stitcher объединяют уже преобразованные кадры. Если границы объектов не совпадают, проблема находится в геометрии, а не в смешивании. Если объекты совпадают, но видна полоса яркости, тогда имеет смысл работать с Radial Luminance, цветовой подгонкой и feather.
Как читать и проверять проектный скрипт
Скрипт Panorama Tools полезно воспринимать как спецификацию преобразования. В нём есть сведения о панораме назначения, свойства каждого исходника, его ориентация, параметры объектива и контрольные точки. Даже если проект редактируется через PTPicker, понимание этой структуры помогает быстро обнаружить несогласованность: неверный размер одного кадра, другой тип проекции или случайно отличающийся HFOV.
Проверка начинается с глобального результата: его проекция, размеры и поле зрения должны соответствовать задаче. Затем сравниваются параметры однотипных исходников. Если вся серия снята одинаково, резкое отличие одного значения — повод выяснить причину. После этого оцениваются yaw, pitch и roll: их порядок должен соответствовать реальному обходу сцены, но не обязан быть идеально равномерным.
Контрольные точки проверяют по связности. Каждая соседняя пара должна иметь достаточную опору, а полный круг — замыкаться. Для нескольких рядов нужны связи между рядами. Точка с координатами на изображениях, которые фактически не перекрываются, почти наверняка является ошибкой или неверной ссылкой на файл.
После PTOptimizer полезно сохранить обновлённый скрипт отдельно от исходного. Это даёт возможность сравнить, какие параметры изменились. Если оптимизатор сильно сдвинул один кадр или резко изменил его объектив, проще вернуться к предыдущему состоянию и проверить точки, чем вручную угадывать прежние значения.
Минимальный аудит перед PTStitcher
- Все исходные файлы доступны и соответствуют проекту.
- Тип проекции каждого кадра выбран верно.
- HFOV не содержит очевидного выброса среди одинаковых кадров.
- Есть контрольные точки во всех необходимых перекрытиях.
- Нет точек на движущихся объектах, которые задают противоречивую геометрию.
- Опорный кадр и общая ориентация дают ожидаемый горизонт.
- Проекция и размер результата подходят для назначения.
Контроль качества после сшивки
Финальная проверка должна быть системной. Простого просмотра панорамы в уменьшенном виде недостаточно: мелкая ошибка геометрии может исчезнуть при масштабировании, а на полном разрешении станет заметна в печати или при приближении viewer. Проверяйте результат сначала целиком, затем по перекрытиям при масштабе, достаточном для оценки исходной детализации.
Геометрия
Проведите визуальную проверку по жёстким структурам: стенам, карнизам, проводам, плитке, линиям горизонта. Ищите раздвоение, ступеньки и локальные изломы. Если проблема повторяется на каждом краю исходника, ищите ошибку калибровки. Если она ограничена одной парой — проверяйте точки этой пары.
Яркость и цвет
После геометрии оцените градиенты. Повторяющиеся тёмные полосы у краёв кадров указывают на виньетирование, резкая смена оттенка — на различие исходных кадров или недостаточную цветовую подгонку. Сравнивайте не только один шов: коррекция должна быть согласована по всему кругу, иначе исправление одной границы создаст другую.
Резкость
Проверьте, нет ли локально размытой зоны, возникающей именно после преобразования. Причиной может быть повторный ресэмплинг или слишком низкое качество интерполяции. Если исходник резкий, а участок результата мягче соседнего без геометрического объяснения, повторите финальный расчёт напрямую из оригинала с выбранным качественным интерполятором.
Полюса и края карты
Для сферической панорамы отдельно просмотрите зенит, надир и шов 0/360. Эти области легко пропустить в плоском просмотре. Поместите каждую из них в центр rectilinear-viewer, где дефект виден в нормальной перспективе. Если требуется ретушь, используйте extract/insert, а не рисуйте по сильно растянутой карте.
Движущиеся объекты
Найдите перекрытия с людьми, транспортом, водой и листвой. Даже при идеальной геометрии разные моменты съёмки могут дать двойное изображение. Здесь уместна ручная маска слоя: выбирается один момент для конкретного объекта, а статичный фон остаётся совмещённым по расчётной геометрии.
Проверка при уменьшении
После контроля полного размера полезно оценить и целевой размер публикации. Тонкие швы, которые заметны при 100 процентах, иногда исчезают, но могут появиться новые муаровые структуры после уменьшения. Финальное масштабирование лучше выполнять один раз после завершения геометрической и ручной работы.
Сравнение Panorama Tools с аналогами
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| Panorama Tools | Ручного контроля проекций, калибровки объектива, контрольных точек и скриптовой сшивки | Требует ручной настройки и совместимой среды для старых фильтров |
| Hugin | Современной свободной сшивки панорам с графическим проектом и автоматизацией типовых этапов | Большое число параметров может быть сложным для первого проекта |
| PTGui | Быстрой профессиональной сборки сложных и многорядных панорам | Для полного набора возможностей требуется коммерческая лицензия |
| Autopano Giga | Автоматического поиска совпадений и пакетной сборки больших серий панорам | Рабочий процесс и формат проекта отличаются от скриптов Panorama Tools |
| Microsoft Image Composite Editor | Простой автоматической сшивки обычных перекрывающихся фотографий | Меньше ручного контроля над моделью объектива и сложной геометрией |
Panorama Tools имеет смысл выбирать, когда важен доступ к самой геометрической модели: нужно вручную задать контрольные точки, откалибровать дисторсию, преобразовать fisheye или сферическую карту, извлечь вид и воспроизводимо выполнить расчёт по скрипту. Hugin и PTGui удобнее для большинства современных панорамных проектов, поскольку объединяют больше этапов в одном интерфейсе. Microsoft ICE ориентирован на более простой автоматический сценарий, а Autopano Giga строит процесс вокруг автоматического анализа серии. Для точечной обычной ретуши фотографии эти программы не заменяют графический редактор: их основной класс задач — панорамная геометрия и сшивка.
Выбор проекции по задаче
Проекция определяет, какие свойства сцены сохраняются лучше и где возникает растяжение. Panorama Tools не предлагает одну универсальную карту, потому что геометрически невозможно развернуть сферу на плоскость без искажений. Поэтому выбор делают по тому, как результат будет использоваться: как интерактивное окружение, как длинная панорамная полоса или как обычная плоская фотография с ограниченным углом охвата.
Когда выбирать rectilinear
Rectilinear подходит, если главным требованием являются прямые линии и результат должен восприниматься как кадр обычной камеры. Архитектурные фасады, интерьер и извлечённые фрагменты сферической панорамы удобнее редактировать именно так. Ограничение проявляется при очень широком поле: края резко растягиваются, а приближение к 180 градусам делает перспективу непрактичной.
Когда выбирать cylindrical
Цилиндрическая проекция удобна для длинной горизонтальной панорамы и полного оборота вокруг горизонта. Вертикальные прямые сохраняют направление, а горизонтальное растяжение распределяется по углу поворота. Для сюжета, где важны высокий потолок, небо или пол под камерой, цилиндрическая карта не покрывает полную сферу так естественно, как equirectangular.
Когда выбирать equirectangular
Equirectangular является рабочей картой полной сферы. Она удобна для хранения панорамного окружения и точного задания pan и tilt, хотя полюса в самом растровом файле растянуты. Если результат предназначен для интерактивного viewer, оценивать его следует через rectilinear-окно просмотра, а не по внешнему виду верхних и нижних строк карты.
Когда нужен fisheye или зеркальная модель
Fisheye и convex mirror используются как модели источника или назначения в специализированных преобразованиях. Они необходимы, когда исходные пиксели действительно получены таким способом. Выбор необычной проекции ради визуального эффекта без знания HFOV затрудняет обратное преобразование, поэтому сначала нужно зафиксировать геометрию источника, затем решать художественную задачу.
| Цель | Предпочтительная геометрия | Что проверить |
|---|---|---|
| Обычный плоский вид | Rectilinear | Растяжение краёв при широком HFOV |
| Длинная панорама горизонта | Cylindrical | Вертикальный охват и линию горизонта |
| Полная интерактивная сфера | Equirectangular | Шов 0/360, зенит и надир |
| Исходник fisheye | Соответствующий fisheye-режим | Ориентацию и реальный угол поля |
| Сферическое зеркало | Convex mirror | Геометрию зеркала и направление преобразования |
Последовательность точной ручной сборки
Если задача требует максимального контроля, полезно придерживаться фиксированной последовательности. Она отделяет ошибки исходных данных от ошибок сшивки и не позволяет одному параметру случайно компенсировать другой. Ниже этапы расположены по зависимости: каждый следующий использует результат предыдущего и при проблеме возвращает пользователя к конкретной группе настроек.
- Проверка исходников. Убедитесь, что кадры не были по-разному масштабированы или обрезаны после съёмки и имеют ожидаемую ориентацию.
- Определение проекции объектива. Для каждого типа исходника выберите rectilinear, full-frame fisheye, circular fisheye или другой действительно соответствующий режим.
- Оценка HFOV. Введите разумное исходное поле зрения; точность можно уточнить позже, но стартовое значение не должно противоречить объективу.
- Постановка контрольных точек. Свяжите статичные детали на всех необходимых перекрытиях и распределите маркеры по площади.
- Оптимизация ориентации. Уточните yaw, pitch и roll, оставив устойчивую систему отсчёта.
- Проверка выбросов. Вернитесь в PTPicker и исправьте точки, которые визуально не попадают в одну и ту же деталь.
- Калибровка геометрии объектива. Разрешайте изменение радиальных параметров только при систематической ошибке по краям.
- Выбор проекции результата. Задайте карту, соответствующую реальному способу просмотра.
- Черновой Stitcher. Создайте тест меньшего размера и оцените геометрию, границы и полноту охвата.
- Тональная подготовка. При необходимости исправьте радиальное падение яркости и согласуйте цвет перекрытий.
- Финальный ресэмплинг. Выполните полный расчёт из исходных изображений с выбранным интерполятором.
- Ручная маска. Исправьте движущиеся объекты и сложные швы, не меняя уже проверенную геометрию.
- Viewer-проверка. Просмотрите панораму по направлениям, включая полюса и циклический стык.
Эта схема полезна именно потому, что не смешивает диагностику. Например, тональную полосу невозможно корректно оценить, пока контуры расходятся, а качество интерполятора бессмысленно сравнивать на проекте с ошибочным HFOV. Чем раньше обнаружена причина, тем меньше дорогих финальных пересчётов требуется.
Работа с панорамой после геометрической сборки
После того как PTStitcher создал геометрически согласованный результат, дальнейшая обработка должна сохранять карту проекции. Обычная ретушь цвета, локальная очистка и маскирование допустимы, но свободная деформация equirectangular-файла меняет соответствие между пикселем и направлением и может испортить viewer. Если нужно изменить геометрию локально, лучше извлечь rectilinear-вид, отредактировать его и вставить обратно через рассчитанное преобразование.
Для печатной панорамы, которая не будет использоваться как интерактивная сфера, после завершения сшивки можно выбрать окончательный crop и размер. Но исходный панорамный мастер разумно хранить отдельно: он сохраняет полный охват и пригоден для повторного извлечения другого направления без новой сшивки исходных кадров.
Если результат будет уменьшаться, сначала завершите маски и цвет на полном или достаточном рабочем разрешении. Уменьшенная копия скрывает мелкие двойные контуры, из-за чего дефект обнаруживается только при последующей крупной печати. С другой стороны, финальную копию тоже нужно просмотреть: ресэмплинг может изменить вид тонких повторяющихся линий.
Архив проекта
Для воспроизводимости сохраните исходные фотографии, исходный скрипт до оптимизации, проверенный оптимизированный скрипт и финальный мастер. Если использовались отдельные параметры Correct, их также следует хранить рядом с описанием объектива и подготовительного crop. Такой набор позволяет спустя время повторить PTStitcher с другим размером или проекцией, не расставляя точки заново.
Итоговые рекомендации по Panorama Tools
Panorama Tools лучше всего раскрывается в задачах, где важна прозрачная геометрия. Пользователь видит и контролирует тип проекции, поле зрения, углы каждого изображения, контрольные точки, радиальные коэффициенты, способ интерполяции и карту результата. Это позволяет разбирать сложную сшивку по отдельным причинам, а не надеяться, что одна автоматическая команда исправит всё одновременно.
Для первого рабочего проекта разумно начать с небольшой серии rectilinear-кадров с хорошим перекрытием и статичной сценой. Освойте PTPicker, добейтесь точной ориентации через PTOptimizer и выполните тестовый PTStitcher. Только после этого переходите к fisheye, нескольким рядам, полной сфере и отдельной калибровке объектива. Такой порядок снижает число переменных и делает результат каждого действия понятным.
Correct полезен отдельно от сшивки, когда требуется исправить объектив, регистрацию каналов скана, радиальное падение яркости или рамку. Perspective решает изменение направления взгляда, Remap — преобразование между проекциями, Adjust — извлечение, вставку и объединение видов. PTEditor помогает увидеть панораму интерактивно и вручную разместить источники, а PTViewer — проверить итог в естественном направлении просмотра.
Главный критерий готовности проекта — не минимальная числовая ошибка сама по себе, а согласованность геометрии на всём поле. Прямые и детали должны переходить через швы без раздвоения, коэффициенты объектива должны оставаться разумными, яркость — не образовывать повторяющихся полос, а сферическая панорама — замыкаться по 0/360 и корректно выглядеть у зенита и надира. Если эти проверки пройдены, окончательный расчёт можно выполнять из исходников с выбранным качественным интерполятором и затем переходить к ручной ретуши уверенно.