6

quiero encontrar una posición de un punto con opencv. Calibré dos cámaras usando cvCalibrateCamera2. entonces conozco parámetros intrínsecos y extrínsecos. Lo leí con parámetros intrínsecos y extrínsecos conocidos, puedo reconstruir 3d por triangulación fácilmente. ¿Hay una función en opencv para lograr esto? Creo que cvProjectPoint2 puede ser útil, pero no entiendo exactamente. Entonces, ¿cómo puedo encontrar la posición 3d de un punto?cómo encontrar la posición 3d de un punto con parámetros intrínsecos y extrínsecos con opencv

Gracias.

+0

Esta explicación puede ayudarlo a comprender. http://dsp.stackexchange.com/q/2736/1473 –

Respuesta

6

Primero tiene que encontrar disparidades. Hay dos algoritmos implementados en OpenCV: emparejamiento de bloques (cvFindStereoCorrespondenceBM) y cortes de gráficos (cvFindStereoCorrespondenceGC). El último da mejores resultados pero es más lento. Después de la detección de disparidad, puede reproyectar las disparidades a 3D usando cvReprojectImageTo3D. Esto le proporciona distancias para cada punto de las imágenes de entrada que se encuentra en ambas vistas de la cámara.

También tenga en cuenta que los algoritmos de correspondencia estéreo requieren un par de imágenes rectificadas (use cvStereoRectify, cvInitUndistortRectifyMap y).

Cuestiones relacionadas