2011-04-01 9 views
6

Estoy trabajando en un proyecto sobre Realidad Aumentada usando un marcador (que es un tablero de ajedrez) que toma imágenes de la cámara web e inserta un objeto 2D/3D en el plano del tablero de ajedrez (en tiempo real).Algoritmo para proyectar objetos 2D/3D en un plano (Realidad Aumentada)?

Al usar openCV pude detectar las esquinas del tablero de ajedrez y dibujarlo.

Utilicé Direct3D para renderizar el marco (usando proyección ortogonal), para luego poder usarlo para proyectar objetos 2D/3D.

Ahora me quedé en esta etapa. Sé que hay bibliotecas como ARToolkit, etc., pero quiero comprender la técnica y el algoritmo que hay detrás. ¿Cómo puedo encontrar la matriz de transformación que puede asignar un objeto 3D al plano del tablero de ajedrez?

Respuesta

2

Este documento explica muy bien:

H. Kato y M. Billinghurst. Marker tracking y hmd calibration para un sistema de conferencia de realidad aumentada basado en video . Realidad Aumentada, 1999. (IWAR '99) Procedimientos. Segundo IEEE y ACM Taller Internacional sobre, páginas 85-94, 1999. 1, 2, 7, 9

Una explicación rápida:

  1. Encuentra corders del marcador y crear bordes 2d de ella

  2. crear vectores de base u1, u2 del marcador usando planos definidos por los bordes (http://twitpic.com/4fmbsu)

  3. uso de productos cruz en la base de dos vectores u1, u2 para obtener t l tercer vector u3

  4. usarlos para construir su matriz

Cuestiones relacionadas