2012-03-30 18 views
6

ACTUALIZACIÓN: Encontré que, http://os.ivrpa.org/panosalado/wiki, tiene una implementación en Java. ¿Alguien que tiene algo similar en c o C++?Cómo proyectar un mapa esférico en una esfera/cubo: "Equirectangular a cúbico"

Tengo este panorama, un mapa esférico de Google StreetView, y quiero asignarlo a una esfera/cubo. A continuación se muestran algunos ejemplos e ilustraciones, lo que busco es una biblioteca que pueda hacerlo, o algunas guías de implementación.

panorama

me trataron http://krpano.com/docu/tutorials/quickstart/#top que da los resultados que figuran en la parte inferior. Ilustra lo que quiero, pero el eje de rotación está desactivado. Necesito crear los puntos de vista adelante y atrás, izquierda y derecha. Ideal me gustaría asignarlo a la esfera y decirle qué ángulos extraer (la orientación del cubo).

[Atrás, Abajo, abajo, izquierda, derecha, arriba]

Back Down Font Left Right Up

+1

La imagen de entrada es de 360x180 grados. –

Respuesta

2

Se puede hacer esto fácilmente en POV-Ray poner la cámara en medio de una esfera mapeada con tu textura. Ver image_map map_type 1 y por ejemplo this example.

Pero realmente esto es muy fácil de implementar, suponiendo que las imágenes de entrada son una especie de proyección equidistante o equidistante cilíndrica: para cada (x, y) en la imagen de salida que está renderizando, simplemente use inverse formulas para calcular un (longitud, latitud) en la imagen de entrada e interpolar/copiar sobre un valor de píxel.

+0

Parece interesante, pero creo que estoy buscando una solución más simple, algún código de C++ donde pueda ajustar los parámetros y usarlos en mi algoritmo. Veremos si otros vienen con algunas respuestas antes de aceptar. –

Cuestiones relacionadas