31 декабря 2004 года случилось интересное событие в моей жизни.

Появился Cannon EOS 10D и к нему объектив EF 28-135 IS USM.

И началась съемка всего подряд. Очень быстро отточилось чувство вкуса, снимать начал не все подряд, появился жестокий ценз того, что снимается, выход годной продукции 5-10% от отснятого материала, ну и так далее. Практически с самого начала столкнулся с невозможностью впихнуть в кадр то, что хочется. Так, очень быстро я столкнулся с понятием панорамная съемка. Посмотрев на компакт диск, который поставлялся с фотиком, нашел там, программу по сшиванию панорам PhotoStitch.
Сшивается там все просто: дал картинки, нажал на кнопку и получил результат.


Как видите, результат несколько неожиданный, правда ?
Начиная с линии горизонта.. и заканчивая окружающим пространством.
Сравните, с тем, что можно получить при помощи Panorama Tools.



Еще один недостаток - это размер. Верхняя панорама имеет объем в 23 мегапикселя.
Её объем никак не может быть 4 мегабайта... Потому что шесть снимков в среднем по 3 мегабайта, где-то с 30% перекрытием не могут занимать так мало.. 26 мегабайт снимок, возможно немного меньше, но не 4.

В общем, я с самого начала понял, что здесь что-то не так. Складывалось впечатление, что программа специально мешает создавать качественные панорамы. Другого ничего не было, поэтому некоторое время я пользовался этим. Но потом однажды, на photosight.ru, я наткнулся на панорамный снимок и описание, чем и как он был сделан, вот этот снимок с описанием.

На тот момент я понимал: чтобы получить хороший панорамный снимок недостаточно, просто, сложить картинки друг с другом. Их надо как-то искривить и сместить друг с другом, но как, использовать монстры, типа Photoshop, ну это сродни покупке мощного промышленного перфоратора, для м-м.. взбивки пудинга на кухне. Можно, но... :-) не то это.

Поворотным этапом стало маниакальное изучение ссылок, данных автором, вышеописанного панорамного снимка.
Однако, обладание инструментом еще не есть умение им пользоваться.
Программа "PTAssembler" оказалась не простой и было очень много непонятного, не описанного в документации в хелпах, в конференциях, много неоднозначностей. Людей действительно достигших высот в деле создания панорам и изложивших свои мысли в сети, мне найти не удалось. Основная масса старается не напрягаться сильно и идут по пути наименьшего сопротивления, используя программы автоматической сборки или полуавтоматической. Я не буду описывать их работу, так как они по трудоемкости почти все уступают тому процессу, с которым я хочу вас познакомить. А чем проще программа, тем больше описаний, как с ней работать.

Итак, из чего состоит комплект.
Panorama Tools.

PTStitcher.Exe
PTOptimizer.Exe
Pano12.dll
Низкоуровневая работа с фотографиями.
Их искривляют, решая системы уравнений и подбирая их параметры так, чтобы минимизировать расстояния между контрольными точками.
PTAssembler Надстройка над Panorama Tools, которая упрощает и группирует действия в последовательность шагов, результатом которых будет создание скрипт текстового файла для программы PTStitcher.Exe из комплекта Panorama Tools, которая даст на выходе готовый панорамный снимок.

Чуть подробнее, что есть что:
PTStitcher.Exe. В его задачу входит искривить изображения так, чтобы они совпали друг с другом.
Иными словами, те общие точки, которые вы наметили на своих фотографиях должны максимально четко совпасть, для этого не достаточно просто приложить один снимок к другому, его надо искривить, чтобы скомпенсировать искажения вносимые объективом, после этого необходимо будет с учетом перспективы, взаимного расположения снимков друг относительно друга, а также выбранной точки зрения результирующей панорамы, произвести соответсвующие искажения и сопоставление. PTStitcher занимается искривлением и сопоставлением.
Рабочим для него является графический формат TIF, а все данные о необходимых искривлениях, он получает от PTOptimizer'a, считывая расчитанные им значения из скрипт-файла.
PTOptimizer.Exe В его задачу входит решить массу уравнений для сопоставления контрольных точек друг с другом и дать оценку по промахам, то есть не совпадениям одной точки с другой находящейся на другом снимке. Оценивая расстояния промахов можно делать предположения по качеству будущей панорамы. Промахи указываются в пикселях, промах в 2 - 3 пикселя не считается сильно страшным, но это все таки больше процентная величина от размеров фотографии. Также PTOptimizer подбирает наиболее подходящие параметры для искривлений, сдвигов по горизонтали и вертикали, а также поворотов. Последнее, очень актуально, если съемка велась с рук. Конечным результатом является скрипт-файл со значениями для искривления, который передается PTStitcher'у для получения результирующей панорамы.

Начнем, пожалуй... >>>>





Hosted by uCoz