PRÁCTICA 2. 3D RECONSTRUCTION. TRIANGULACIÓN
Con los emparejamientos de puntos ya realizados, podremos hacer la reconstrucción 3D. Dicha reconstrucción consistirá en calcular los rayos de retroproyección de cada punto y con ellos el punto dondeintersectan. Los rayos de retroproyección se obtienen: 1- Retroproyectamos los puntos al espacio 3D. Para ello pasamos los puntos al sistema de la cámara con: pointInOpt=self.camRightP.graficToOptical(pointIn) Y los proyectamos en el espacio 3D: point3d=self.camRightP.backproject(pointIn) 2- Con los puntos en el espacio 3D y la posición de las cámaras podemos calcular los rayos de retroproyección , ya que será la recta que pase por el punto y la posición de la cámara. 3- Una vez tenemos los rayos, el punto 3D debería situarse donde intersectan ambos. Esto no suele ocurrir porque hay errores, por ello se busca el punto que minimiza la distancia entre ambas rectas. Para ello me he basado en la siguiente página: http://www.homer.com.au/webdoc/geomet