sábado, 18 de abril de 2015

Pica 2

Como ya se ha comentado anteriormente, nuestro primer objetivo es conseguir realizar con éxito la tarea Pica 2.

En esta primera iteración de la solución global el usuario tiene que seleccionar de forma manual un punto de una de las imágenes y su correspondencia en la otra. En nuestro caso las imágenes tienen el siguiente aspecto:

Una vez que se han seleccionado el mismo punto en las dos imágenes, se hace la retroproyección de estos puntos. Al hacer esto obtendremos un rayo que pasa por el centro óptico de la cámara y por el punto 3D que estamos buscando.

En la imagen se observan los rayos de retroproyección generados.

Por último, hay que calcular el punto en el que los rayos de retroproyección se cortan, ya que es ese el punto 3D que ha generado ambos rayos. En la práctica, es muy difícil que estos rayos se corten, ya que la calibración de las cámaras no es exacta y tampoco es totalmente precisa la selección de la correspondencia de los puntos en ambas imágenes. Por lo tanto, es necesario obtener los puntos de dichos rayos que minimizan la distancia entre ellos, y una vez obtenidos, calcular el punto medio del vector que los une.

Pic_d2lines
En nuestro caso los rayos serian P y Q; y los puntos que minimizan la distancia entre los rayos serian P(Sc) y Q(Tc).

Para realizar estos calculos se ha utilizado las ecuaciones paramétricas de las rectas y se ha adaptado el algoritmo que se explica en el siguiente enlace: http://geomalgorithms.com/a07-_distance.html

Una vez implementado el cálculo del punto que minimiza la distancia, este es el resultado:
Se observa que donde los rayos "se cortan" se ha dibujado una esfera de color verde.

No hay comentarios:

Publicar un comentario