Как мне правильно сшить панораму, если я двигал камеру по горизонтальной оси?

Здесь, в Аргентине, есть очень красивая улица под названием «Ланин» . На всех домах и стенах этой улицы наклеена какая-то мозаика, и это очень круто. Это сделал местный художник , который живет на этой улице .

Поскольку это произведение городского искусства имеет длину в два квартала, я решил сделать его панораму, двигаясь по горизонтальной оси во время фотосъемки. Я имею в виду, я сделал одно фото, прошел на шаг дальше по улице, сделал еще одно фото и так далее.

При попытке прошить в AutoPano вышло вот такое деформированное:

плохо сшитый пример( высокое разрешение здесь )

И другая сторона блока:

еще один плохо сшитый пример( высокое разрешение здесь )

После этого я узнал об ошибке параллакса и почему нужно избегать движения при съемке панорам. Я имею в виду, что на обоих изображениях много ошибок подключения. Особенно во втором, часть с углом довольно проблематично сшить, потому что, когда я двигался, перспектива вида сильно менялась.

Итак, есть ли способ правильно сшить такую ​​панораму? Будет ли это работать только на гладких стенах?

Спасибо за редактирование и исправление, @mattdm, мой английский сейчас очень ржавый.
¡Su Inglés es mejor que mi español! Нет никаких проблем с пониманием того, что вы говорите — я просто сделал это немного более плавным.

Ответы (9)

То, что вы пытаетесь создать, — это панорама с параллельным движением. До сих пор это было в моем списке TODO , но я еще не сделал этого сам.

Microsoft ICE поддерживает это. Это единственное известное мне программное обеспечение, позволяющее автоматически сшивать панорамы с параллельным движением. Вы найдете эту опцию в разделе «Движение камеры» ниже и слева от окна предварительного просмотра.

У вас есть какие-нибудь ссылки на это, идея интригует, но гугление "панорама параллельного движения" ничего не дает
Извините, это должно быть параллельное движение , а не движение . IIRC, он возник для создания панорамы из видео, в котором сцена снимается с движущейся платформы / транспортного средства, а кадры собираются в виде панорамы. Я не был активен в сообществе CG в течение многих лет, но я видел очень впечатляющую целую дорогу длиной в несколько километров на одной из художественных выставок SIGGRAPH.

Когда вы снимаете панораму, просто вращая камеру, вы имитируете эффект объектива с более широким полем зрения (даже если вы используете нестандартную проекцию).

Если вы двигаете камеру, то то, что вы пытаетесь создать, не имеет эквивалента в реальности, т.е. это не 2D-проекция 3D-сцены, как большинство фотографий, это нечто совершенно другое! Из-за этого нет однозначного способа соединить изображения.

Однако я понимаю, что в этой ситуации нет альтернативы перемещению камеры. Что бы я сделал, так это сфотографировал бы каждое здание в лоб, сфотографировал бы все промежутки между зданиями в лоб, а затем соединил бы изображения прямыми вертикальными линиями. Таким образом, здания выстроятся в линию, но вам все равно придется поработать над смешиванием дороги и неба. Результат все равно будет выглядеть немного странно, поскольку то, что вы получите, не будет соответствовать ни одному представлению, которое вы получили бы в реальной жизни.

edit: @mattdm поднимает хороший вопрос, который я упустил из виду: в этой ситуации вы хотите смоделировать орфографическую проекцию, то есть проекцию, которую вы получите с объективом с бесконечным фокусным расстоянием, основанным на бесконечности. Лучший способ приблизиться к этому — сделать как можно больше фотографий с небольшим горизонтальным разделением между ними, а затем сшить их в виде серии тонких вертикальных срезов.

Я думаю, что он имитирует горизонтальную полосу, вырезанную из фотографии, сделанной длиннофокусным объективом достаточно далеко назад, чтобы охватить всю сцену прямо. Невозможно только из-за промежуточных зданий и так далее, и потому, что вам нужно быть довольно далеко, чтобы сделать все так прямо. Было бы немного более естественно, если бы здание в центре улицы было взято прямо, и постепенно уменьшалось бы по центру по мере удаления от центрального дома (с каждым разом приближаясь к центру).
Ах, это хороший момент, и он напоминает мне о том, что я полностью упустил из виду, орфографическая проекция (например, архитектурная диаграмма высот) - это то, что вы хотите аппроксимировать. В орфографической проекции все лучи параллельны, что можно аппроксимировать, вырезав центр из множества изображений с разными переводами.
Как насчет того, чтобы прикрепить видеокамеру к транспортному средству в портретной ориентации, а затем двигаться по улице в медленном и равномерном темпе? При движении со скоростью 3 метра в секунду (10,8 км/ч) каждые 10 см будет получаться одно изображение, поэтому ошибки параллакса между изображениями будут сведены к минимуму.

Вы можете использовать режим мозаики в Hugin для таких панорам.

Вы должны быть в экспертном режиме ( Интерфейс → Эксперт ), но затем в окне предварительного просмотра (кнопка GL) на вкладке « Перемещение / перетаскивание » можно выбрать режим перетаскивания в качестве режима мозаики .

Если это установлено, перетаскивание по горизонтали и вертикали изменяет параметры перемещения X и Y соответственно, то есть позволяет перемещать виртуальную камеру по горизонтали и вертикали.

это просто потрясающе, если это можно сделать с несколькими фотографиями, то вау!

Я не уверен, что это идеальное решение, но я бы попробовал Hugin. Одна из функций, которые мне нравятся в Hugin, — это возможность определять прямые линии, которые проходят через фотографии. Это дает программному обеспечению дополнительную подсказку о том, что в конечном итоге должно выглядеть ровно после того, как панорама собрана.

Я никогда не пробовал делать горизонтальную панораму, подобную этой, но на Hugin меня привлекла панорама, которую я снял со множеством зданий и длинным причалом в гавани. Все остальное, что я использовал, привело к деформации дока, но в Hugin я смог определить линию, которая увеличивала длину дока, и это позволило Hugin получить очень разумный результат.

Первая панорама была сделана с Autopano. Второй с Hugin из-за Autopano с треском провалился, связывая все изображения.
Хьюгин не будет делать этот трюк с «прямой линией» сам по себе — пытались ли вы найти какие-либо линии, которые проходят через несколько изображений (может быть, тротуар)?
Нет, в основном я просто загрузил изображения и позволил программе решить все проблемы. Я думаю, что сделал 3 разные панорамы (чтобы не переполнять приложение 150 изображениями) и объединил эти 3 новые панорамы.
Если вам захочется попробовать, это был «секретный соус», который заставил Хьюгина особенно хорошо работать в случае, о котором я упоминал выше. Пока вы можете найти прямую линию на своих фотографиях, Hugin позаботится о том, чтобы она оставалась прямой.

Canon PhotoStitch имеет два режима сшивания — панорамирование и параллельное. Он даже учитывает фокусное расстояние, с которым были сняты ваши кадры. Если вы снимаете на Canon, у вас должно быть программное обеспечение на диске Canon Utilities.

Однако какое бы программное обеспечение вы ни использовали, попробуйте снимать с максимальным фокусным расстоянием, чтобы устранить геометрические искажения. Это становится компромиссом между искажением и количеством кадров, необходимых для охвата вашего объекта.

Кроме того, возьмите выравниватель и убедитесь, что ваша камера находится в горизонтальном положении, когда вы делаете снимки, и, насколько это возможно, сделайте ее высоту постоянной. Это уменьшит проблемы с вращением/переводом.

Ммм, интересно. Я собираюсь попробовать. Обычно я никогда не устанавливаю комплектный софт из-за того, что обычно это полная хрень, но я попробую с фотостичем.
У Фотостича серьезные проблемы со сшиванием чего бы то ни было. Почти ничего хорошего из этого не вышло.

Вот один из них, который я сделал, накладывая друг на друга изображения, снятые на улице. Это было в фотошопе с использованием инструмента «Измерение» и произвольного «Поворота холста», чтобы сделать вертикали прямыми и параллельными. Затем изображения были обрезаны, объединены и стерты несовпадающие перекрывающиеся части изображений. Это отнимает много времени и не является программным решением, которое вам нужно, но оно работает. Одна вещь, о которой следует знать, это то, что если есть какие-либо вещи, такие как навесы или вывески, которые являются 3D, вы должны быть уверены, что у вас есть прямые изображения для использования.

http://www.knightvisionphotography.com/FranklinMainStreet.pdf

Я подозреваю, что проблема в том, что вы не снимаете панораму. Вы просто делаете несколько снимков, которые должны быть просто добавлены один к другому. Я бы расширил холст в Photoshop и просто поместил бы каждую фотографию одну рядом с другой.

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

Параллельная панорама остается панорамой.

Я бы сначала попытался исправить искажение объектива на вашей фотографии, используя профили камеры Lightroom.

Затем вы можете попробовать создать панораму с помощью фотошопа, в котором есть возможность объединения изображений без обычных исправлений.

Хотя обычно я бы посоветовал всем использовать AutoPano pro, на этот раз кажется, что попытка Photoshop сшить панораму может помочь.

Не думаю, что это решит проблему перспективы. А вот вариант фотошопа очень интересный. Обязательно попробую.

Я пробовал несколько разных программ, которые будут объединять фотографии в панорамы. Чаще всего я использую Photoshop Elements. Это довольно дешевая версия Photoshop, в которой есть большинство функций, но не все, что есть в Photoshop.

Вы можете загрузить 30-дневную пробную версию или попробовать различные способы, с помощью которых Photoshop Elements может объединить ваши фотографии в панораму. Есть даже ручной режим, правда я его пока не пробовал.

Удачи (я всего лишь их клиент и не заинтересован в том, чтобы вы покупали это программное обеспечение)

Если вы рекомендуете загрузить пробную версию Elements, почему бы просто не использовать пробную версию Photoshop?