Анимация и 3D графика

индекс
186,51

Создание круговых панорам (flash)

Как сделать панорамное фото с трехмерным обзором


Вертеть головой — потянув мышкой, или курсорами ← →, приближение/удаление — колесиком мышки.

В этой статье я расскажу о том, как делать панорамные фотографии, а так же
как из них сделать круговые 3D-панорамы: какие для этого нужны программы, и как ими пользоваться. Словом, попробую показать весь процесс шаг за шагом. В конце статьи сделаю небольшую работу над ошибками, и расскажу о том, как их избежать в будущем.

Вообще, сделать панорамное фото (в т.ч. круговую панораму) совсем не сложно.
При минимальном навыке на всё уйдет минут 10.

Перечислю всё, что нам понадобится:

  1. Фотоаппарат.
    Надеюсь, что у большинства читателей он всё-таки цифровой, а не пленочный, т.к. обрабатывать фотографии мы будем на компьютере.
     
  2. Компьютер.
    Подойдёт любой компьютер, лишь бы он был выпущен не более 10 лет назад, и на нем стояла операционная система Windows.
    Создавать круговые панорамные фотографии можно и на более старых компьютерах, и на компьютерах с другими операционными системами — но данная статья их не захватывает.
     
  3. Программы.
    • Adobe Flash Player 10 — скорее всего, флэш уже установлен на вашем компьютере, и качать/устанавливать его вам не нужно.
    • Microsoft Research Image Composite Editor (Microsoft ICE) — 3 Мб, программа, которая склеивает разрозненные фотографии в единое пано.
    • Pano2VR 2.2.3   — программа, которая из «плоской» панорамы делает круговую (3D), с помощью флэша. Не забудьте скормить программе ключ-код, что бы на ваших панорамах потом не появилась надпись «Trial Version Expired». Как вариант, код можно купить у разработчиков. Существуют и другие программы-аналоги для создания круговых панорам, которые вы можете легко найти через Яндекс/Гугл.
       
  4. Инструкция. (не обязательна)
    Вы сейчас её и читаете.



Приступим.


В качестве примера я предлагаю использовать работу над панорамой, исходные снимки которой были сделаны зимой этого (2010) года на территории завода НПО «Пластик», что на Бережковской набережной в Москве.
Вы уже видели картинку этой панорамы в начале страницы.
Было сделано 11 фотографий фотоаппаратом Canon 350D, с китовым объективом, фокусным расстоянием 18 мм. Снимки
делались без штатива, с рук. Расположение кадра — «вертикальное». Если бы снимки делались в «горизонтальном» режиме, потребовалось бы 6-7 кадров вместо 11-ти, но тогда бы меньше пейзажа попало в кадр (по высоте).

Фотографии снимались с небольшим «перехлёстом», т.е. каждый новый кадр содержал в себе 5-10% предыдущего кадра.

Архив с исходными jpg-файлами вы можете скачать по адресу http://lesha.name/panorama/howto.rar, файл весит 25 мегабайт.  

 

1. Запускаем программу Microsoft Image Composite Editor


… и нажимаем File→New.


В открывшемся окошке выбираем файлы из распакованного архива howto.rar
(все сразу), и нажимаем «Открыть»
Некоторое время (пару минут) компьютер попыхтит,
пытаясь понять, где голова, а где хвост, и «склеивая» фотографии краями на основе принципа нахождения одинаковых объектов на соседних кадрах. Т.е. с помощью того самого 10%-го наслоения кадров, которые мы брали в качестве «перехлёста».

В итоге получится у нас что-то, похожее на это:

Теперь нам нужно обрезать неровности, получившиеся из-за склейки:

Для этого мы нажимаем кнопку Automatic Crop (подчеркнутую красным) — и программа сама отсечет лишнее.
Заодно мы выставляем максимальное качество для выходного снимка — передвигаем ползунок Quality до упора направо, до 100%.
Также оставим оригинальный размер панорамы — в меню Scale поставим 100%.

Максимальные настройки качества мы тут оставляем потому, что понизить качество мы всегда успеем — и делать это будем на заключительном этапе создания панорамы, а не сейчас.

Теперь нам нужно сохранить панораму в виде JPG-файла.


Делается всё в два клика — нажимаем на «Export»,
а затем — на «Сохранить». Файл обзовем, к примеру, panorama_result.jpg
Кстати, файл большой получится, на 28 мегабайт. Впрочем, мы это сознательно делали: чем меньше шагов при оптимизации изображения, тем выше будет качество у итогового снимка.

Выходной файл у нас будет вот такой (только в 10 раз больше по размерам):




2. Запускаем программу Pano2VR


Добавляем в программу наш файл panorama_result.jpg



Нажимаем «Выбрать» (цифра 1), затем «Открыть» (цифра 2, и ищем в окошке наш файл panorama_result.jpg), затем на всякий случай укажем, что собираемся делать цилиндрическую панораму (цифра 3). Ок.
Теперь нажимаем на выпадающее меню «Формат для экспорта», и выбираем там «Flash».
Затем нажимаем на кнопку «Добавить».

Перед нами выскочит вот такое окошко, которое мы сейчас подробно рассмотрим:
 

Для начала установим уровень компрессии на 80, качество визуализации на 10, а длину цилиндрической текстуры — на максимум, т.е. на 2880.
Играясь с этими настройками, вы сможете получать разные по качеству/размеру выходные панорамы.

Затем перейдем на вкладку HTML, и поставим галочку в "Подключить HTML-файл". Делаем мы это для того, чтоб флешку можно было сразу выложить на свою домашнюю страничку. Файл обзовем panorama_result.html

Собственно, всё. Нажимаем кнопку «ОК», компьютер спросит «Экспортировать файл?», после вашего утвердительного ответа он немного подумает, и покажет в браузере страничку — на которой будет изображено что-то вроде этого:
http://lesha.name/panorama/npo.htm



 
Если вы захотите изменить какие-либо настройки получившейся панорамы — можете поменять настройки в блоке «Параметры проекции», или нажимайте на изображение гаечного ключа и изменяйте качество/размер фотографии.





3. Работа над ошибками.


Наблюдательный читатель из Северной Америки по имени Зоркий Глаз заметит, что на панораме есть, как минимум, два небольших дефекта.
    Во-первых, слева от солнца по кирпичной пристройке проходит неровная линия стыка двух кадров: из-за чего левая часть здания более яркая, а правая более темная-мутная. А небо над зданием различается — часть его с облаками, а часть — без. Получилось это скорее всего из-за автофокусировки, и наличия в кадре солнца. Дабы этого избежать, я в следующий раз буду делать снимок таким образом, что бы солнце попадало в «перехлёст» двух кадров — тогда в итоге части изображения справа и слева от него будет максимально похожими по экспозиции (т.е. количеству света), и резкого перепада темного/светлого кадра не будет. Так же, скорее всего, надо было делать фотографии на постоянном ручном фокусе.

    Второй дефект — слева от желтой таблички с рекламой ремонта бамперов. Если сделать приближение-увеличение картинки с помощью колесика мышки, то будет видно, что кабины автомобилей «состыковались» не очень корректно. Произошло это, скорее всего, так же из-за автоматического фокуса, плюс, возможно, я немного сдвинулся с места между кадрами. Штатив и ручной фокус должны помочь исправить положение — простой телескопический штатив стоит рублей 500-600, и с легкостью убирается даже в небольшую наплечную сумку.

За сим всё.

Если у вас будут какие-либо комментарии-пожелания-поправки к данной статье — пишите.



UPD.
Хорошие бесплатные программы:
1. Hugin hugin.sourceforge.net
2. Panosalado panosalado.com
3.?
+89
8 февраля 2010, 11:38
317

комментарии (72)

+2
DVORYAN #
Давно пытался сделать нечто подобно, даже сделал, правда, очень корявым и долгим методом. Спасибо, автору, упростили мне жизнь)))
+2
dug #
Вот спасибо. Давно хотел попробовать, но было лень искать все эти программы, «которые понядобятся». Вечером займусь практикой :)
0
ooprizrakoo #
Кстати, если мой сервер постигнет хабраэффект (все-таки, панорамы несколько мегабайт весят, да и файл с исходниками 25 мег), то пожалуйста попозже просто зайдите на сервер. Сервер хороший, но виртуальный.
0
motoMac #
А неварезного решения этой задачи нет?
А еще лучше онлайн-сервиса?
+1
ooprizrakoo #
Онлайновых сервисов я не нашел, к сожалению; а не-варезные решения — использовать для перегона картинки во флеш другие программы. (для самой склейки цельной панорамы вареза не нужно, программа от МС полностью бесплатна).

Вчера, уже после написания статьи, я решил порыться в инете, и нашел там кучу обзоров, так что мне стыдно стало — я, оказывается, не первопроходец в деле написания подобных статей. Если не ошибаюсь, Panorama Factory так тоже умеет, и ещё аналоги есть.
НЛО прилетело и опубликовало эту надпись здесь
0
GenaB #
А можете рассказать, как сделать сферическую панораму?
+1
ooprizrakoo #
Для этого я хочу сначала сам попробовать её сделать :) Как только попробую и получится — напишу и статью, если на тот момент хороших не будет.
В целом, полагаю что проблем особых со сферической не будет — тут тонкости уже в технике съемки, имхо, а не в софте.
0
GenaB #
мне вот непонятно, получится ли сделать сферическую без насадки на штатив.
+1
ooprizrakoo #
Я думаю получится без проблем, сам видел примеры когда снимали «с рук».

Кстати, вот статья по-моему неплохая: photo-element.ru/ps/spherical/spherical.html
+1
GenaB #
О, спасибо за статью!
Сам несколько раз делал цилиндрические панорамы, только с помощью PTgui.
+1
nIx0iD #
Получится, вот сделал на днях: www.flickr.com/photos/nix0id/6207852359/sizes/l/in/photostream/
0
ooprizrakoo #
Офигенно! Расскажите пожалуйста поробности/технологию?
0
nIx0iD #
1. Microsoft Image Composite Editor
2. Flexify (плагин для photoshop)
Вот и все :)
0
aryeh #
напишите, напишите…
0
ooprizrakoo #
Ну, вот в комменте выше хорошая (вроде бы) статья :)
+1
alt0172 #
10 минут могут клеиться фотки без параллакса. С ним нааамного хуже :)

Я использовал для склеивания PTGUI (платный). Спомощью плагина Smartblend (бесплатный) убирается неравномерное освещение и несостыковки (единственный минус — дефекты не убираются при большом размере выходного файла — при ширине 18000 точек пришлось делать вручную)
Эта прога на выбор сохранит сферическую, цилиндрическую, или еще какую панораму. Может прямо в .mov (квиктаймовская панорама, сразу готовая к просмотру).

Для создания флэшки использовал panosalado (опенсорс).
0
ooprizrakoo #
Спасибо за Panosalado

Как раз то, что может заменить платный/варезный Пано2ВР.

www.panosalado.com/images/spincontrol_examples/demo/New_Orleans_2007/index.html
+1
alt0172 #
spincontrol это вроде как платный AIR-продукт на основе panosalado. Который делает то же самое, что можно сделать в panosalado вручную, но автоматически.

Да и сам panosalado, при более подробном изучении, радует не особо:

версия 1.28 работает в 3 раза быстрее версии 1.38
плагины написаны для версии 1.38

Подозреваю, причина в том, что основа там (papervision3d) со времен 8 флэш-плеера, когда закрашивать треугольники приходилось вручную, и получалось криво и медленно. Сейчас ведется работа над новым panosalado2, с преферансом и дамами, после выхода которого панорамы должны стать красивыми, быстрыми и ровными, коммьюнити большим, умным и разговорчивым, люди добрыми, а погода хорошей. Короче, ждем изменений к лучшему :)
+8
ra1nbow #
Смотрю, многие интересуются по поводу возможных решений для размещения панорам в web (особенно бесплатных)
Когда-то я пытался исследовать этот вопрос (ни в коем случае не претендующее на полноту и т.д.), и вот что получилось:

(Описание идет так: Название Плагин Сайт Цена)

1) DevalVR DevalVR www.devalvr.com/ free
2) Flash Panorama Player flash flashpanoramas.com/ €39.95
3) KRPano flash www.krpano.com/ €30, €90
4) pan0 flash pan0.net/ open-source
5) PanGnomic java open-source
6) Pano2VR flash gardengnomesoftware.com/pano2vr.php 178.80 Euro
7) Panorama2Flash flash www.easypano.com/panorama2flash.html $49.95
8) panosalado flash panosalado.com/ open source
9) PURE Player for Flash flash www.immervision.com/en/home/index.php $34.95, with tool kit
10) PURE Player for Java java
11) PTViewer java www.all-in-one.ee/~dersch/ open source
12) QuickTime VR QuickTime www.apple.com
13) SPi-V Shockwave
14) VRLight Silverlight cpicture.net/vrlight/
15) Ryubin's Flash Panorama Laboratory flash www.ryubin.com/panolab/panoflash/index.shtml free

От себя могу добавить, что мне нравится krpano (минус в том, что он платный, однако дешевле Pano2VR)
0
DjOnline #
DevalVR пока что лучшее решение для просмотра круговых панорам. Самое быстрое, так как написано на C и является плагином к браузеру, а также использует DirectX/OpenGL для отрисовки сферы, в отличие от всех других существующих решений в виде Flash/Shockwave/Java. Позволяет на одноядернике смотреть панорамы на FulHD со скоростью до 60fps, тогда как Flash — хорошо если 10-15fps выдаёт.

Вот последнее сравнение всех способов показа панорам, ссылка от автора DevalVR — www.panoramaphotographer.com/comparisons/index.html

p.s. panoslado выдаёт 4fps на FullHD.
0
ainu #
Сделайте, пожалуйста, статью-обзор, если будет время и желание.
Думаю, будет интересно, тем более так много информации есть.
0
tltDmitriy #
мм… спасибо за статью!
попробовал… вот что получилось — screencast.com/t/YzQxN2ViZ
Это можно как-то исправить? %)
+1
ooprizrakoo #
По-идее можно: в программе есть режим коррекции, там кнопочка есть, которая позволяет эту колбасу «двигать», изменяя геометрию.
Правда, мне кажется не оч хороший результат будет все равно.
А почему у вас так оригинально получилось?
+3
tltDmitriy #
Не знаю, почему так… Но коррекция очень помогла.
Итог — tlt-dmitriy.narod.ru/22.html
:))
+2
ivlis #
А ещё есть Hugin hugin.sourceforge.net/

Очень, мне кажется, достойная прога.
0
apakin #
У меня падает при нажатии кнопки Align :)
0
Barzometr #
не увидел на скринах проги для склейки фоток (прогу не ставил) функцию — общие точки.
Суть в том, что программа не всегда верное склеивает фотографии, особенно когда много мелких объектов (например магазин) и для этого нужна функция — контрольные точки (общие).
Береться два смежных снимка и ставяться на них общие точки.
Я обычно делаю около 26и снимков, из которых клею панораму. Контрольные точки расставляю в больших случаях сам, зато получается более гладже переходы :).

использую PTGUI + плагин Smartblend.

за пост спасибо, увидел новую программу — не понравилась :), остался юзать старую PTGUI.
0
ooprizrakoo #
Вы юзавете варезную версию?
Я к тому, что прогамма от микрософта все-таки бесплатная.
0
Barzometr #
ну… если говорить о платности — тогда прога Pano2VR тоже не бесплатная :)
0
moroz1999 #
За статью спасибо, но вот ПО для этих целей, имхо, лучше попробовать поискать другое: flash-панорама, изготовленная Pano2VR, заставила мой Firefox зарезервировать дополнительных 190 метров памяти (80мб->270мб) и раскочегарила мой Sempron до 100% даже при показе статической картинки в отсутствии вращения.
У меня, конечно, то еще ведро вместо нормальной рабочей машины, но я и не Crysis запустил :)
0
Nidaylokn #
Интересная статья, спасибо. Но я увидел на панораме еще один дефект: на разных кадрах баланс белого и экспозиция немного отличаются, из-за этого что кое-где снег синеватый, а кое-где более темный. В идеале, нужно снимать в полностью ручном режиме, чтобы параметры всех снимков были одинаковыми. И про ручной баланс белого не забыть!
0
Nidaylokn #
Забыл добавить, что панорамы очень удобно в фотошопе (начиная с версии Cs3) склеивать.
0
S_talker #
Правильнее было бы назвать такую панораму не круговой, а цилиндрической.
Стоит заметить, что создание сферических панорам будет поинтересней, да и результат впечатляет поболее.
Вообще, для новичков статья довольно неплохая. Хотя я считаю, что снимать панорамы без штатива — непозволительно. А в идеале нужен штатив с панорамной головкой, позволяющий выставлять фокальную точку. Хотя бы пару слов об этом стоило бы упомянуть, наверное.
Ну а склейка — это уже дело вкуса. Выбор программ сейчас довольно широк (не то, что лет 10 назад), от таких, которые позволяют контролировать каждый параметр), до полностью автоматических.
Автору за статью спасибо.
0
Enlil #
А хороших статей по «кубическим» панорамам ни кто случаем, не видел?
0
Delias #
ваша панорама хорошо подвесила мой офисный селерончик: р
0
ooprizrakoo #
Вы знаете, на П4 смотрится вполне себе нормально.
0
Menjoy #
Теперь ждем от Бумбурума круговых «панорам» гаджетов :)
0
FirsofMaxim #
Браузер умер — Opera 10.10 ( Win XP )
0
ooprizrakoo #
У меня такой же браузер. Странно. Претензии по поводу браузеров слышал пока только от двух людей, у них ФФ подвисал на некоторое время.
0
kshilov #
У меня ФФ. Подвисает если двигать мышкой, клавишами (стрелки влево вправо) вращается нормально.
0
legrus #
При съемке с рук, особенно если некоторые объекты близко, рекомендую поворачиваться вокруг фотоаппарата, а не вокруг своей оси — искажения меньше. И спасибо за инструкцию по созданию флешки.
0
ooprizrakoo #
Спасибо за совет, действительно части артефактов это помогло бы избежать.
0
exdee #
про «мышкой потяните картинку вправо или влево» написано,
а вот про зум колёсиком не написано, или это не кросс-браузерная опция? =(
0
ooprizrakoo #
Каюсь. Сейчас напишу :)
0
KKS #
Почему бы вам не разместить ссылку на официальную страничку Microsoft ICE?
Там заодно и версия для x64 есть…
0
ooprizrakoo #
Изначально я так и хотел сделать, но по какой-то причине из дома ни у меня, ни у приятеля ссылка на оф.сайт не открывалась — и я подумал, что лучше пусть будет не очень официальная ссылка на программу, чем нерабочая.
Сейчас (с работы) ссылка открывается нормально, даже не знаю, добавлять ли её…
0
alexxxst #
Adobe Photoshop CS4 -> File -> Automate -> Photomerge — да и получше как-то получается…
0
ooprizrakoo #
Не пробовал, надо будет.
Тут ещё нюанс есть — программа от микрософта бесплатная. А КС4… Ну, скорее «условно бесплатная» )
0
alexxxst #
Результаты очень даже неплохие. Но это я к тому, чтобы не ставить дополнительный софт, ибо у каждого фотографа/дизайнера/художника в 90% случаев есть фотошоп…
+1
Leency #
А я-то думал тысячи фотографий и один гений фотошопа или 4D видеокамера :)
0
xkspy #
Одна из востребованных тем на сегодняшний день, некоторые вообще почему-то скрывают свой алгоритм построения сферических панорам.
Интересно, а более расширено верх и низ панорамы можно сделать при такой аппаратуре (бюджетной)
0
ooprizrakoo #
Это зависит от фокусного расстояния — в некоторых случаях может быть полезно сделать дополнительный «верхний» ряд фотографий, например если снимаете на краю леса. И потом в программе они приклеются сверху основного ряда.
+1
dpritula #
На самом деле базовый флэшовый код для панорамы совершенно несложный.
Для наших около 6000 панорам Чернигова с простеньким функционалом было использовано:

1. Фотоаппарат Cannon A-540
2. Опробовано несколько склейщиков. Чемпионом показал себя Autopan.Pro
3. Чуток флэшового кода. Плюс своего кода в том, что можно сделать любой функционал.
+1
dpritula #
сори, панорамы тут: map.cn.ua/panoramas/list/
0
balvardo #
Гм, а может кто нибудь знает ответ на мой вопрос. Снять панораму на улице, это, конечно, здорово и замечательно. А как снять панораму в помещении общей площадью, ну, скажем 12 кв.м. ( домик 3 на 4 метра). Пи этом, нужно заметить, что если мы берем бюджетную зеркалку или цифромыльницу, минимальное фокусное расстояние, которое удается найти (обязательным условием является отсутствие бочки) — 30-40mm. Вот как бы и вопрос «А как быть?».
0
ooprizrakoo #
Возможно, надо будет сделать просто много снимков.
А вообще — можно на цифрозеркалку нацепить сверхширик с фокусным 10 мм :) Тогда трех снимков хватит :)
0
steinebel #
О как, а я в шопе собираю каждый раз))
Типа того: omerta.narod.ru/panorama5.html
0
selitskas #
Чтобы «там ярко, а там темно» не было, используется ручной режим экспозиции (или фиксация, коль нету/не хотите). Тоже самое и с резкостью: имхо, лучше на бесконечность наводить.
0
street_spirit #
Карамба. Круто. Вот еще бы зум мощный.
0
ooprizrakoo #
Зум там есть, колесиком. Но не особо мощный, да. Хотя окна в небоскребах «москва-сити» видны.
0
street_spirit #
Аааа… Точно точно… Просто тачпад скроллит саму страничку html…
Ну тогда то очень круто в принципе.
0
SilverOK #
Спасибо за статью, узнал нечто новое. Как раз позавчера начал изучать 3D-панорамы.
Вопрос: как склеить панораму так, что бы при осмотре во флеш был вверх (небо/потолок) и низ (земля/пол)?
+2
demoded #
чтобы было небо (зенит) и пол (надир) нужно снимать сферическую панораму, это немного сложнее чем просто круговая и требует специального оборудования — нодальной штативной головки, которая позволяет вращать фотоаппарат не вокруг центра матрицы, а вокруг нодальной точки объектива (место пересечения лучей).



без нодальной головы сделать тоже можно, но количество времени затраченное на исправления искажений параллакса стремится к бесконечности. с нодальной головой у меня сфера собирается на автомате в PTGui за 20-40 секунд.
0
ooprizrakoo #
Я так не пробовал делать, однако подозреваю, что надо в типе панорамы (том самом падающем меню, где мы выбирали цилиндр) выбрать другой пункт — QTVR.
Так же есть настройки FOV — возможно они помогут. В целом, можно экспериментировать с превью, которое создается в «Параметры проекции» — блок виден на lesha.name/panorama/pano_new.png
+1
sashay #
Вот, что получилось у меня, правда, использовал программу Autopano Giga 2.
0
ooprizrakoo #
По-моему очень хорошо получилось. А полную сферу не пробовали делать?
+1
sashay #
Пробовал, вот пример. Там правда глюк со светом на полу… есть ли у кого мысли как избавиться от этой проблемы?
+1
ooprizrakoo #
Надо отключить автоматический баланс белого на фотоаппарате, что бы он не изменял цвета на разных кадрах.
0
nIx0iD #
По серой карточке или просто по белому листочку настраиваешь ББ заранее — и все ок )
0
pvasili #
А если ли софт, чтобы ссылки делать с панорамы? А-ля стритвиев
0
user3000 #
Что-то типа этого 360 Degrees Of Freedom Developer Suite.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.