А какая проекция получается при построении панорамы вручную? Это зависит от того, какими инструментами мы пользуемся при выравнивании фрагментов. Если используются только сдвиги и повороты, то получаем покадровую проекцию, как на рисунке 7.15 (мостик через речку Кукарка, каждый кадр дан в прямолинейной проекции, а в целом получается похоже на сферическую). Если же используются аффинные преобразования и гомография (преобразование по четырем точкам), то при аккуратном выравнивании может получиться что-то похожее на прямолинейную проекцию для панорамы в целом (Рис. 7.16).
Рис. 7.15.
Рис. 7.16.
Наглядно представить, что происходит
• выбранный пейзаж многократно фотографируется с разными направлениями оптической оси объектива и, возможно, из разных точек и с разными значениями других параметров;
• строится некоторая поверхность, окружающая все точки съемки и расположенная между ними и пейзажем (например, плоскость, внутренняя поверхность цилиндра или сферы);
• каждый из полученных кадров проектируется на эту поверхность из своей точки съемки; при этом центр кадра проецируется в направлении оптической оси, а положение кадра в пространстве соответствует тому положению сенсора, которое было при съемке;
• двухмерное изображение, получившееся на выбранной поверхности, при необходимости (если в качестве поверхности не была выбрана плоскость) преобразуется в плоское.
Вид полученной проекции определяется как формой выбранной поверхности, так и способом пересчета точек изображения на поверхности в точки плоского изображения.
Такая же картинка была бы получена, если бы сенсору камеры можно было придать форму выбранной поверхности, отображенной зеркально. И распределить фотопиксели по площади сенсора не равномерно, а в соответствии с тем способом, по которому изображение на выбранной поверхности преобразуется в плоское.
В этом случае камера сразу выдавала бы картинку в заданной проекции, вид которой определялся бы как формой поверхности сенсора, так и функцией переменной плотности фотопикселей на поверхности сенсора.
Но пока мы до такого еще не дожили, и если стандартные проекции нас не устраивают, то остается только комбинировать изображения, полученные в известных проекциях. Для того чтобы получить искажения, более подходящие к конкретному изображению.
Например, если нужно устранить искривление линий для важной части картинки, то можно взять эту часть из изображения, полученного с помощью прямолинейной проекции. А если хочется приблизить к зрителю центр изображения, то можно попробовать скомбинировать изображения, полученные для цилиндрической и сферической проекций. Все необходимые инструменты для этого есть.
Но в тех случаях, когда прямолинейная проекция дает приемлемый результат (см. Рис. 7.17), мне кажется, нужно использовать именно ее.
Рис. 7.17.
Теперь закончим эту математику и перейдем к панорамам.
7.3. Фотосъемка фрагментов панорамы
Виды панорам
Существуют три основных способа снять
В первом случае оптический центр объектива камеры (центр входного отверстия диафрагмы) для всех кадров ряда остается в одной и той же точке пространства, а камера поворачивается вокруг вертикальной оси, проходящей через эту точку (Рис. 7.18а). При съемке горизонтального ряда оптическая ось всегда лежит в горизонтальной плоскости, а при съемке верхнего или нижнего ряда ось задрана или опущена, но ось вращения по-прежнему вертикальна. При этом отсутствуют ошибки параллакса на переднем плане, но при объединении фрагментов необходимо учитывать искажения пространства, которые рассматривались в предыдущем параграфе.
Рис. 7.18.
Во втором случае оптический центр объектива камеры перемещается вдоль горизонтальной линии, параллельной плоскости объекта (Рис. 7.18б), а оптическая ось объектива все время остается перпендикулярной к этой плоскости. Этим способом обычно снимают плоские или приблизительно плоские объекты (Рис. 7.19).
Рис. 7.19.