2012-05-28 18 views
7

Soy nuevo en OpenCV. Tengo la muestra de detección de surf funcionando. Ahora quiero colocar un modelo 3d en la imagen detectada.Cómo encontrar una matriz de proyección 3D en Surf Detection

¿Cómo puedo encontrar la matriz de proyección 3D?

+1

Posible solución: http://urbanar.blogspot.in/2011/04/from-homography-to-opengl-modelview.html –

+2

El problema es demasiado complejo para esa simple pregunta. Te refieres a la Homografía. Tienes que pasar los puntos clave detectados con surf a la función cvFindHomography –

Respuesta

5

Supongo que está hablando de Aumento de la Realidad cuando dice que desea colocar un modelo 3D en la imagen detectada (¿en el marco de la cámara?). La clave del problema siempre es detectar al menos 4 puntos que coinciden con otros 4 "puntos clave" en nuestro marcador. Luego, al resolver algunas ecuaciones obtendremos nuestra homografía, lo que nos permitirá proyectar cualquier punto.

En OpenCV hay una función que realiza esta tarea: cvFindHomography

Sólo tiene los pares de partidos, seleccione un método (RANSAC, es decir) y obtendrá la Homografía.

A continuación, puede proyectar los puntos como se explica here:

+1

Utilicé cvFindHomography para proyectar un cuadrado de prueba en la imagen y luego llamé a solvePnP para calcular la matriz modelview. –

Cuestiones relacionadas