Antes habia puesto una imagen de lo que hice un rato de ocio en verano, ahora explicaré un poco mas los pasos que tuve que realizar para un caso de ejemplo en el primer informe para el ramo optimización combinatoria.

  • Puntos Característicos: El primer paso es encontrar features similares en ambas imágenes, lo mas sencillo es utilizar un algoritmo que encuentre esquinas como el método de Harris. En las siguientes imágenes restringí la zona a buscar puntos, y el máximo (solo hasta 7 puntos) ya que mi versión de LINGO sólo me permite hasta 50 variables :(

puntosp_.jpg puntosq_.jpg

  • Normalized Cross-Correlation: Con los puntos encontrados, obtenemos la correlación con cada punto de la otra imagen en una ventana de píxeles, yo elegí una ventana de 9×9, el resultado de la correlación nos da un valor entre -1 y 1 que nos dice qué tan parecidas son las ventanas (mientras más cercano a 1 es más similar)
  • Matching: Aquí va la parte principal de mi proyecto, donde usé la asignación de tipo Stable Marriage Problem para elegir la correspondencia de puntos según los valores de las correlaciones. El resultado fue el siguiente (las lineas verdes muestran el matching correcto, la roja es un matching equivocado y eliminado):

matching_.jpg

  • Transformación Espacial: Con las relaciones encontradas, calculamos la homografía y transformamos una de las dos imágenes, ahora saqué el promedio de los píxeles en las zonas comunes. El resultado final es el siguiente:

registered_.jpg

Y eso es todo, como ven bastante sencillo porque obviamente el resultado no fue muy profesional, pero hasta aquí lo considero suficiente, no me quiero especializar en registro de imágenes.