Автор: Алексей Климов

Сегодня мы рассмотрим программу, рождающую панорамы. С ее помощью VGA-камера мобильного телефона (640х480) превращается в пиксельного миллионера с широкоугольным зум-объективом. Речь пойдет о PTgui — графической оболочке к пакету Panorama Tools, 6-я версия которой вышла в начале сентября.

Безусловно, фанаты панорамной фотосъемки назовут еще дюжину аналогичных продуктов, но сами, как правило, пользуются PTgui (2,5 Mбайт) или (102,5 Mбайт), причем в автоматическом режиме. В отличие от фанатов, профессионалы на программной стороне вопроса останавливаются вскользь, акцентируя внимание зрителей и читателей на некоем «пановидении». Правда, подлинные мастера предваряют свои откровения предупреждением «Перепечатка в Интернете и печатных средствах массовой информации запрещена», набрав которое в поисковике, вы найдете цветастое описание выразительных достоинств панорамы, советы по технологии съемки со штатива с уровнем и , а также увидите множество примеров уникальных мест нашей планеты с .

Мы же рассмотрим условия панорамотворчества более приближенные к реальности: золотая осень, камера мобильного телефона, программа PTgui 6 и огромное желание сохранить красоту на память. То, что вокруг красота, — не подлежит сомнению, ибо ключевое слово здесь «вокруг». Осмотритесь и не вздумайте складывать пальцы вытянутых рук в окошко кадрирования — в ваш телефон сейчас влезет абсолютно все, что вы видите. А «все» — это больше, чем простая сумма частей, так же как слово «панорама» больше, чем восемь входящих в него букв, три из которых одинаковы. Кстати, «панорама» имеет греческие корни: рбн («все») и ьсбмб («вид, зрелище»), что близко по значению к рбньрфзт (то есть «всевидящий» — Зевс, Аргус).

Следует отметить, что древние греки, расписывая круговыми панорамами вазы и блюда, сколько-нибудь стройной геометрии этого вида изображений не создали. Патент на изобретение «панорамы» в современном понимании слова был выдан только в 1787 году Роберту Баркеру. До этого же составленные из отдельных зарисовок путешественников панорамные карты береговых линий использовались не столько в целях военных, сколько в оккультных. Известная вавилонская «Карта Мира» (Mappa mundi), дошедшая до наших дней (Babylonian clay tablet world map, 600 B.C.), и буддийские мандалы выражали идею панорамы как сверхвидения. В японской традиции представление о чародейской стороне панорамы проявилось в ритуале куними — буквально: «смотрение страны» или «видение страны». Исполнявший ритуал император воспроизводил действие предка — прародителя рода, взглядом творящего космическое благоустройство своих владений. Император непременно должен был находиться на возвышенности, с которой одним взглядом мог охватить все пространство вокруг.

Воспроизведем опыт древних в PTgui — создадим пробную панораму в мистических целях «улучшения взаимопонимания с окружающим миром». Для этого повернем камеру мобильного телефона в портретное положение (так шире обзор по вертикали) и не сходя с места сделаем полторы-две дюжины снимков слева направо (по умолчанию все неарабские программы сшивают кадры в этом направлении). Перекрытие сюжетов в соседних кадрах должно составлять процентов 30—50.

Перенесем снимки в компьютер и, не обрабатывая их, загрузим в PTgui. При некотором везении ваш дебют в автоматическом режиме удастся не хуже моего (рис. 1). Девятнадцать (!) межкадровых швов на фронтоне вдоль здания почти незаметны. И это при том, что камера автоматически меняла экспозицию и баланс белого от кадра к кадру, «перекрашивая» стену здания то в терракотовый, то в желто-зеленый, а облака то размывались, то имели тени от низкого осеннего солнца.

Понятно, что в камере, допускающей ручные настройки, лучше принудительно зафиксировать экспозицию, цветобаланс и автофокус по сюжетно важному объекту. Если же это не поможет, получить приемлемые результаты удается в режиме Advanced. Он допускает склейку лоскутного изображения из любых кадров. То есть пару кусочков панорамы вы снимете летом, пару — осенью, остальное — зимой и весной: мистическая картина «Времена года» на едином холсте готова.

Однако для закрепления навыков все же рассмотрим ручное соединение кадров, снятых в одно время и с одной точки (рис. 2). Почтамт города Орла выбран для иллюстрации не столько из-за архитектурных достоинств (более крупных старинных зданий в Отечественную войну здесь не осталось), а скорее, из-за исторической связи с темой обзора. В 1943 году это место уже панорамировали, но без фотоаппаратов: под перекрестным огнем бойцы тогда еще Красной Армии разом выглядывали из укрытий и пытались сосчитать силы противника каждый в своем секторе обзора. Итог «склеивался» путем конвертирования устных донесений в графический план штурма.

Отснимем все части понравившегося объекта в любой последовательности мозаикой во сколько угодно рядов и колонок. Загрузим кадры в PTgui и после (безрезультатного ожидания) отработки команды Align Images откроем окно Panorama Editor. Здесь в первую очередь укажем тип панорамы: листовая, цилиндрическая или полусфера. В нашем случае, где угол обзора по горизонтали менее 120 градусов, — листовая. Затем перейдем в режим «курсора-буксира» и поочередно перетащим все кадры на их «правильные» позиции в грубом приближении. Закроем окно ручного редактирования и запустим автоматическое устранение наших промахов (Optimize). Результат приведен на рис. 2 — кто бы мог подумать, что снимок сделан мобильным телефоном (объектив с поцарапанной линзой, фокусное расстояние 42 мм в пленочном эквиваленте, матрица 640х480)? Хотя опытный взгляд обнаружит излом линии крыши на солнечной стороне здания второго плана.

Для попиксельного выравнивания расставим контрольные точки, общие для каждой пары сопрягаемых кадров (режим Advanced, вкладка Control Points, рис. 3). Доверять программному автопоиску здесь не стоит — так что пользуйтесь здравым смыслом, твердой рукой и контрастными объектами вдоль границ снимков.

Собственно, процедура совмещения кадров по контрольным точкам в PTgui не столь сложна, как можно подумать. Я давно это подозревал, сравнивая возможности очередного Pentium’а с возможностями мозга насекомых. Ведь, как известно, фасеточные глаза создают мозаичную картину мира с перекрытием телесных углов зрения каждой соты. Преобразование этого массива (или месива) данных в полусферическую панораму происходит в реальном времени «резидентной программой» на «процессоре» пиковаттной мощности в голове козявки размером с планарный транзистор. Интересующиеся могут вслед за мной подивиться природным алгоритмам обработки графики прочитав книгу eyedesignbook.com.

Поскольку человек существенно отличается от насекомых — наше восприятие фасетной панорамы на плоскости не может опереться на естественные чувства. Большинство широкоформатных работ кажутся тренажерными декорациями, имитирующими обзор через смотровую щель БМП, а квазиширокоугольные снимки (рис. 2) шокируют нарушениями привычной перспективы (облака на небе, кажется, изображают глаз антициклона, хотя на самом деле ветер не меняет направления).

Попытки объять необъятное и вместить панораму в туннельное зрение человека привели к оригинальной форме свертки полусферических картин. Это лучше один раз увидеть в объеме, чем сто раз в журнале. Отснимите полусферу своего офиса, лежа на полу в его центре, создайте сферическую панораму 360х180 градусов и преобразуйте ее командой Utilities -> Create PhiloSphera в «ромбокубооктаэдр». Нанесите на каждую грань месяц из календаря будущего года, распечатайте, вырежьте и склейте бумажный «глобус Украины» — подарок коллегам готов!

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