2

У меня есть изображение, которое является панорамой 360 фотографий (example). Я хотел бы преобразовать его в формат, который соответствует VR - либо equirectangular (example), либо cubemap.Преобразование панорамы в VR (equirectangular или cubemap)

Единственное решение, которое я видел, это http://ggnome.com/pano2vr, но оно, похоже, не работает для меня. Есть ли другой подход, который я могу предпринять?

ответ

1

Я пошел вперед, написал приложение на C++, которое (надеюсь) делает то, что вы хотите, и posted it on GitHub.

Учитывая цилиндр х^2 + у^2 = 1 вписан внутри куба 2x2x2 с центром в начале координат, мы можем спроектировать цилиндрические панорамы на coresponding четыре грани куба следующим образом. Для каждого пикселя на выходном изображении мы бросаем луч из центра куба в (0,0,0) через соответствующую точку на одной из поверхностей куба и определяем, где этот луч пересекает цилиндр. Затем мы сопоставляем эту точку на цилиндре с соответствующей точкой во входном изображении и (билинейно) пробуем входное изображение в точке. Полученный пиксельный цвет присваивается текущему выходному пикселю.

Вы можете прочитать подробности gory в associated docs.

Вот некоторые миниатюры ввода и вывода изображения вы предложили:

enter image description here enter image description here

+0

Очень здорово, спасибо. Одна заметка - выход должен быть длиной = 2X, чтобы он мог полностью обернуться вокруг сферы. – Sekoul

+0

Я не думаю, что я действительно сделал то, что хотел. Мне нужно использовать сферу вместо цилиндра. Я сопоставил цилиндр с четырьмя сторонами куба (не сверху или снизу на кубе), который работал бы с пещерой VR без движения вверх или вниз. Когда я получу шанс, я сделаю еще одну попытку. – wcochran