Как сделать снимок и преобразовать его в равные angular координаты проекции? [360 °] - PullRequest
1 голос
/ 28 марта 2020

Мне интересно, как взять изображение с известным размером пикселя, поворотом ангела и fov в правильное положение на 360 ° равном angular холсте. У меня есть изображение, которое я взял, имеет размер 1280 x 720 пикселей. Горизонтальный угол обзора составляет 92 °, а вертикальный угол обзора составляет 45 °. Изображение было снято с углом рыскания 45 ° и углом 45 °.

Image example

Мне нужно найти способ сделать пиксель на снимке, который я сделал, и каким-то образом преобразовать его в правильное положение на равном angular холсте. Идея состоит в том, чтобы сделать больше снимков, чтобы в конце концов оно стало полным 360 ° экваториальным angular изображением. Равномерное angular холст имеет размер 4096 x 2048.

Equirectangular canvas example

Я прочитал и попытался понять математику, но по какой-то причине я просто не могу понять это: / И я не уверен на 100%, возможно ли преобразовать изображение непосредственно в правильную позицию на равном angular холсте. Может быть, нам нужно как-то занять равную angular позицию XY холста и умело вращать ее? Я надеюсь, что смогу получить помощь в правильном направлении, по крайней мере, с математикой. Конечная цель состоит в том, чтобы сделать это в C ++ с использованием Opencv или чего-то подобного для перемещения положения пикселя (не хочу использовать какую-либо функцию автоматического сшивания). Я делаю это, потому что я хочу учиться, и я думаю, что это был очень интересный и сложный проект. На самом деле я не мог найти много информации об этом, но многое о преобразовании между различными проекциями. Невероятно, когда вы берете изображение в проекции, такие как equirect angular. Если кто-то знает, как это сделать с помощью любого другого метода проецирования, такого как кубическая карта или полярная проекция, не стесняйтесь показывать мне. Мне очень интересен этот метод, а может, он еще лучше и полезнее?

...