Entry tags:
Сшивка панорам
Не в первый раз уже спрашивают, как/чем сшивать панорамы. Я тоже не так давно задался этим вопросом, ибо PTGui своими косяками задрал уже давно, а всё время сшивать в фотошопе муторно, очень уж много уходит времени и усилий. Само собой, существует великое множество программ и рецептов для сшивки панорам. Тут уж каждый сам выбирает что ему по душе, поэтому я могу рассказать только о том, что подошло мне.
Меня интересовали в основном круговые панорамы (сферические как-то не прижились). Так вот, оказалось, что помимо приснопамятного PTGui, на первых страницах результатов Яндексе присутствует в основном только растиражированная с Хабрахабра статья, где используется связка Pano2VR + Microsoft ICE. Естественно, я опробовал этот рецепт, и результатом также остался несколько недоволен. А вот на третьей-четвёртой странице пошли ссылки на менее известные программы, и одна из них реально пришлась по вкусу. Со мной такое вообще-то редко бывает, но это действительно крепко сбитый немецкий натурпродукт. Во-первых, практически всё автоматом, настраивать и подгонять почти ничего не надо - тык-тык, две минуты жужжит, результат готов. Во-вторых, почти не лажается при сшивке (PTGiu лажался постоянно - приходилось вручную сводить по точкам). В-третьих, умеет делать флэш. В-четвёртых, работает с уймой графических форматов, даже никоновский рав кушает с аппетитом. Есть и недостатки: нет откатки (то есть нельзя отменить последнюю выполненную операцию), а интерфейс только английский (русского нет), хотя для меня это особой проблемы не представляет.
Программа называется PanoramaStudio 2Pro. Ищите в интернете, а я пока расскажу, как сшить в ней панораму. Для начала снимаем круговую панораму (можно и частичную, то есть меньше 360 градусов), располагая кадр вертикально. Сегменты должны быть сняты с некоторым "перехлёстом", чтобы в панораме нечаянно не образовалось "щелей", из-за которых сшивка не получится. Но при этом перехлёст не должен быть больше 50% - тогда объекты на панораме могут начать двоиться (на одной из первых панорам у меня получилось рядом два памятника Орлёнку). То же самое относится к первому и последнему кадрам - если они перехлёстываются более чем на 50%, последний кадр лучше удалить. Ниже показан исходный материал с цифровой камеры.
Запускаем программу и выбираем "Create single-row panorama" (создать панораму в один ряд).
Сшивка работает в четыре этапа: Import > Align > Render > Save.
Этап первый, загрузка картинок. Выбираем меню File > Import Images (импорт изображений).
Выделяем все исходные файлы, а затем нажимаем кнопку "Открыть".
Картинки грузятся в окно, тут их можно проскроллить и, если где-нибудь найден перехлёст более 50%, удалить лишние изображения (через контекстное меню). Этап второй - Align (выравнивание). Если это круговая панорама, выбираем "Align a 360 degree panorama", а если частичная - то "Align (partial) panorama".
После этого программа выполняет разнообразные проверки и может задать самые разные вопросы. Может, например, спросить, не уменьшить ли картинки, поскольку суммарная ширина изображения превысила максимально допустимую, или не сконвертировать ли их с меньшей глубиной цвета, чтоб меньше памяти занимали. В данном случае программа нашла различия в фокусном расстоянии - видимо, я кольцо зума нечаянно сдвинул, когда снимал. Отвечаем так, чтобы продолжить сшивку. Следующий вопрос - про линию горизонта, будем ли её регулировать. Говорим, что будем.
Красная линия - это и есть линия горизонта. Перетаскиваем её туда, где она находится на снимках. Приблизительно, особая точность не нужна.
Через минуту жужжания получаем некоторое подобие сшивки. Вот тут видим лажу - нестыковка по уровню горизонта. Я специально подобрал пример, где возникла эта проблема, чтобы показать, как её решать - на самом деле в полусотне сшитых панорам она возникла всего два раза. На то, что соседние сегменты отличаются по цвету, не смотрите - всё это будет автоматически исправлено на следующем шаге. Итак, исправляем нестыковку: Edit > Change Image Alignment (изменить выравнивание изображений).
Теперь тыкаемся в место нестыковки (стык выделяется красным) и перетаскиваем одну часть изображения относительно другой, пытаясь их совместить.
Примерно так. Полного совпадения не добиться, но оно и не нужно - после нажатия на кнопку "Done" программа снова выравнивает этот стык.
Проскрольте панораму ещё раз. Если всё нормально, нажмите "Render" (рендеринг).
Красным выделяются границы обрезки. Можно, ничего не меняя, нажать "ОК", а можно сначала поскроллить - иногда сверху-снизу удается безболезненно добавить десяток-другой пикселей.
Через минуту-две получаем практически готовую панораму. В меню Optimize можно ещё кое-что подправить при необходимости (яркость-контраст, кривые, уровни, цветовой баланс - обычный набор), но подробно я об этом рассказывать не буду, понадобится - разберётесь самостоятельно.
Последний этап - сохранение. В меню Save - три варианта: Save as image (сохраняет в виде большого JPEG-файла), Save as Flash or Java panorama (для Интернета) и Save as Screensaver/.EXE (сохраняет как экранную заставку или как EXE-файл).
Тут показано сохранение в EXE/SCR. Если экранная заставка мне без надобности (баловство это всё), то EXE - очень полезная функция, очень удобно отдать такую панораму кому-нибудь на флешке, потому что для просмотра больше ничего не надо - запускай и смотри. Из всей массы параметров здесь я настраиваю только "Panorama output size" (выходной размер), обычно выбираю 85%.
А это сохранение в виде флэшки для публикации в Интернете. Здесь "Panorama output size" нужно выбрать поменьше (я выбираю 35%), чтобы файл получился не слишком большим. И ещё - вместо Java нужно выбрать Flash.
Ну и уж до кучи, раз уж начал, расскажу как выложить такую панораму в ЖЖ. В результате сохранения получается четыре файла: html, xml, jpg и panoStudioViewer.swf. Флешка одна на все панорамы, она подгружает в себя xml и jpg. Допустим, сайт будет называться mysite.narod.ru. Вносим изменения в .xml (розовым выделено то, что нужно добавить):
Вносим изменения в .html (розовым выделено то, что нужно добавить):
Теперь файлы panoStudioViewer.swf, .xml и .jpg загружаем на сайт (все три в один и тот же каталог).
При написании поста в ЖЖ копируем из .html код, выделенный голубым, не забыв заключить его в <lj-embed>...</lj-embed>, как код для видеороликов на Ютубе. И не забывайте, что панорама - это всегда трафик, поэтому обязательно, при любых условиях, убирайте её под кат.
Не знаю, зачем я так много и так подробно про это расписал, там действительно всё делается очень просто и быстро. Но вдруг кому-нибудь пригодится.
Меня интересовали в основном круговые панорамы (сферические как-то не прижились). Так вот, оказалось, что помимо приснопамятного PTGui, на первых страницах результатов Яндексе присутствует в основном только растиражированная с Хабрахабра статья, где используется связка Pano2VR + Microsoft ICE. Естественно, я опробовал этот рецепт, и результатом также остался несколько недоволен. А вот на третьей-четвёртой странице пошли ссылки на менее известные программы, и одна из них реально пришлась по вкусу. Со мной такое вообще-то редко бывает, но это действительно крепко сбитый немецкий натурпродукт. Во-первых, практически всё автоматом, настраивать и подгонять почти ничего не надо - тык-тык, две минуты жужжит, результат готов. Во-вторых, почти не лажается при сшивке (PTGiu лажался постоянно - приходилось вручную сводить по точкам). В-третьих, умеет делать флэш. В-четвёртых, работает с уймой графических форматов, даже никоновский рав кушает с аппетитом. Есть и недостатки: нет откатки (то есть нельзя отменить последнюю выполненную операцию), а интерфейс только английский (русского нет), хотя для меня это особой проблемы не представляет.
Программа называется PanoramaStudio 2Pro. Ищите в интернете, а я пока расскажу, как сшить в ней панораму. Для начала снимаем круговую панораму (можно и частичную, то есть меньше 360 градусов), располагая кадр вертикально. Сегменты должны быть сняты с некоторым "перехлёстом", чтобы в панораме нечаянно не образовалось "щелей", из-за которых сшивка не получится. Но при этом перехлёст не должен быть больше 50% - тогда объекты на панораме могут начать двоиться (на одной из первых панорам у меня получилось рядом два памятника Орлёнку). То же самое относится к первому и последнему кадрам - если они перехлёстываются более чем на 50%, последний кадр лучше удалить. Ниже показан исходный материал с цифровой камеры.
Запускаем программу и выбираем "Create single-row panorama" (создать панораму в один ряд).
Сшивка работает в четыре этапа: Import > Align > Render > Save.
Этап первый, загрузка картинок. Выбираем меню File > Import Images (импорт изображений).
Выделяем все исходные файлы, а затем нажимаем кнопку "Открыть".
Картинки грузятся в окно, тут их можно проскроллить и, если где-нибудь найден перехлёст более 50%, удалить лишние изображения (через контекстное меню). Этап второй - Align (выравнивание). Если это круговая панорама, выбираем "Align a 360 degree panorama", а если частичная - то "Align (partial) panorama".
После этого программа выполняет разнообразные проверки и может задать самые разные вопросы. Может, например, спросить, не уменьшить ли картинки, поскольку суммарная ширина изображения превысила максимально допустимую, или не сконвертировать ли их с меньшей глубиной цвета, чтоб меньше памяти занимали. В данном случае программа нашла различия в фокусном расстоянии - видимо, я кольцо зума нечаянно сдвинул, когда снимал. Отвечаем так, чтобы продолжить сшивку. Следующий вопрос - про линию горизонта, будем ли её регулировать. Говорим, что будем.
Красная линия - это и есть линия горизонта. Перетаскиваем её туда, где она находится на снимках. Приблизительно, особая точность не нужна.
Через минуту жужжания получаем некоторое подобие сшивки. Вот тут видим лажу - нестыковка по уровню горизонта. Я специально подобрал пример, где возникла эта проблема, чтобы показать, как её решать - на самом деле в полусотне сшитых панорам она возникла всего два раза. На то, что соседние сегменты отличаются по цвету, не смотрите - всё это будет автоматически исправлено на следующем шаге. Итак, исправляем нестыковку: Edit > Change Image Alignment (изменить выравнивание изображений).
Теперь тыкаемся в место нестыковки (стык выделяется красным) и перетаскиваем одну часть изображения относительно другой, пытаясь их совместить.
Примерно так. Полного совпадения не добиться, но оно и не нужно - после нажатия на кнопку "Done" программа снова выравнивает этот стык.
Проскрольте панораму ещё раз. Если всё нормально, нажмите "Render" (рендеринг).
Красным выделяются границы обрезки. Можно, ничего не меняя, нажать "ОК", а можно сначала поскроллить - иногда сверху-снизу удается безболезненно добавить десяток-другой пикселей.
Через минуту-две получаем практически готовую панораму. В меню Optimize можно ещё кое-что подправить при необходимости (яркость-контраст, кривые, уровни, цветовой баланс - обычный набор), но подробно я об этом рассказывать не буду, понадобится - разберётесь самостоятельно.
Последний этап - сохранение. В меню Save - три варианта: Save as image (сохраняет в виде большого JPEG-файла), Save as Flash or Java panorama (для Интернета) и Save as Screensaver/.EXE (сохраняет как экранную заставку или как EXE-файл).
Тут показано сохранение в EXE/SCR. Если экранная заставка мне без надобности (баловство это всё), то EXE - очень полезная функция, очень удобно отдать такую панораму кому-нибудь на флешке, потому что для просмотра больше ничего не надо - запускай и смотри. Из всей массы параметров здесь я настраиваю только "Panorama output size" (выходной размер), обычно выбираю 85%.
А это сохранение в виде флэшки для публикации в Интернете. Здесь "Panorama output size" нужно выбрать поменьше (я выбираю 35%), чтобы файл получился не слишком большим. И ещё - вместо Java нужно выбрать Flash.
Ну и уж до кучи, раз уж начал, расскажу как выложить такую панораму в ЖЖ. В результате сохранения получается четыре файла: html, xml, jpg и panoStudioViewer.swf. Флешка одна на все панорамы, она подгружает в себя xml и jpg. Допустим, сайт будет называться mysite.narod.ru. Вносим изменения в .xml (розовым выделено то, что нужно добавить):
Вносим изменения в .html (розовым выделено то, что нужно добавить):
Теперь файлы panoStudioViewer.swf, .xml и .jpg загружаем на сайт (все три в один и тот же каталог).
При написании поста в ЖЖ копируем из .html код, выделенный голубым, не забыв заключить его в <lj-embed>...</lj-embed>, как код для видеороликов на Ютубе. И не забывайте, что панорама - это всегда трафик, поэтому обязательно, при любых условиях, убирайте её под кат.
Не знаю, зачем я так много и так подробно про это расписал, там действительно всё делается очень просто и быстро. Но вдруг кому-нибудь пригодится.
Ой, спасибо :)
СПАСИБО ОГРОМНОЕ
буду пробовать!:)
Re: Ой, спасибо :)
Нет, не забыл, просто времени не всегда хватает.
no subject
Как раз вовремя.
no subject
no subject
пользовался несколькими программами для сшивки - постоянно в чем-то лажа. некоторые точки не могут нормально выискивать совпадающие из-за этого в кадре постоянно то разрывы присутствуют, то наложения "не там где надо". некоторые сшивают нормально, но разницу в яркости неправильно воспринимают и объект получается сначала светлым, а после линии сшивки - темным или наоборот.
в этом отношении Microsoft ICE более менее удовлетворил. сшивает хорошо на автомате, косяки только с яркостью.
PTGui - слишком сложным показался, да и сшивку проводил не очень качетсвенно, постоянно получались отсутствующие фрагменты.
PanoramaPro - плохая сшивка, часто при перекрытии более 50% отказывался сшивать, приходилось обрезать вручную.
no subject
no subject
no subject
no subject
Флешка там одна на все панорамы - она подгружает в себя джипег.
А джипеги называются так же, как и страницы.
Например панораме http://ssgen.narod.ru/smolino1.html
соответствует изображение http://ssgen.narod.ru/smolino1.jpg
no subject
no subject
no subject
Когда сшивал в фотошопе, кадры с мыльницы склеивались куда проще, чем с зеркалки. С никона постоянно приходилось где-то что-то подтягивать. Панорамастудия сшивает автоматом, лажается редко.
Впрочем, я просто любитель, у профессионалов возможно более строгие требования.
no subject
однажды попробовал панорамму сшить - понравилось, загорелся.
теперь вот думаю купит себе зеркалку. денег поднакоплю только.
честно говоря, поймал себя на мысли что если бы нужно было купить телевизор большой или холодильник хороший - уже давно купил бы, а вот на фотоаппарат - приходится копить.
no subject
no subject
no subject
(Anonymous) 2011-04-18 07:42 pm (UTC)(link)Кстати, это не совсем относиться к теме, но все же, вы случайно принцип (алгоритм) автоматической сшивки фотографий не знаете, очень понадобился, но к сожалению, никак не могу нигде найти. Если вдруг знаете киньте на почту буду очень благодарен, (если возможно, с более ли менее подробным описанием).
Заранее благодарю за помощь!
(max84_84@list.ru)
no subject
К сожалению нет, по алгоритмам не помогу ;)
no subject
Огромное спасибо за туториал, буквально за пять минут собрал панораму, действительно никаких сложностей.
no subject
no subject
no subject
no subject
no subject
no subject
Что я сделал.
Создал страничку
В менюшке управления файлами загрузил файлы.
Понимая, что ссылки на файлы должны быть доступны из любого места, на сайте создал текстовый блок со ссылками на файлы
Скопировал ссылки по твоей инструкции на файлы в xml и html.
Блин, не работает, черное окно с баром загрузки, 0%
no subject
Менюшкой не пользовался, файлы загружаю прямо в корневой каталог - http://help.yandex.ru/narod/?id=1112763
no subject
no subject
no subject
Сегодня решил поискать программы по автоматической сшивке отдельных кадров и нашёл вашу статью.
Программа неплохо сшила предложенные ей 6 снимков. Лажанулась лишь в одном месте, да и то так мягко, что я не сразу заметил место глюка. :) Думаю, что если снимать со штатива, а не с рук и соблюдать корректное соотношение перекрытий, то глюков не будет вовсе.
В любом случае попробую ещё посоветованный в комментах Microsoft ICE. Глюк с освещённостью для меня не страшен, поскольку снимаю на ручных настройках в RAW, а затем пакетно обрабатываю все кадры с одними настройками в JPEG или TIFF устраняя искажения перспективы и бочко-подушко-образности.
no subject
no subject
no subject
(Anonymous) 2012-09-13 04:00 pm (UTC)(link)Но что жалко при 360гр, нет центровки самой панорамы, тоесть нет сдвига для центральной точки панорамы, т.е.верх, низ, линия горизонта, можно править, но центровать нельзя. Если есть возможность, не подскажете как сферические собирать, хотя бы кратко, просто хочу попробовать.
Еще раз Вам БОЛЬШОЕ спасибо!!!
no subject
Сферические - точно так же, только вместо "Create single-row panorama" нужно выбирать "Create multi-row panorama"
no subject
(Anonymous) 2013-01-20 05:31 pm (UTC)(link)no subject
(Anonymous) 2013-03-06 12:24 pm (UTC)(link)