Pregunta

Tomé 2 imágenes con un punto de cruce y ahora estoy tratando de comparar estas 2 imágenes y averiguar cuál es la distancia y el ángulo movido. ¿Cómo puedo usar MATLAB para hacer esto? Muchas gracias!

Pic3 Pic2

¿Fue útil?

Solución

Alinear dos imágenes de la misma escena es llamado registro de imágenes . Si tiene acceso a la Caja de herramientas de procesamiento de imágenes , puede encontrar una cantidad de funciones para ayuda .

Eche un vistazo a estas demostraciones de registro de imágenes .

Otros consejos

Si esas líneas negras siempre están en las imágenes, y están casi perfectamente rectas (no distorsionadas en curvas), un mejor método sería usar Transformación de Hough o Transformación de radón (diferentes formas de pensar en hacer lo mismo) para encontrar solo las dos líneas negras y luego comparar sus posiciones.

Primero invertirías las imágenes, por lo que las líneas son de color blanco brillante (valores grandes), y luego haces la transformación de Hough. La salida para cada imagen será dos puntos blancos brillantes, desde los cuales puede hacer la detección de picos. La coordenada de cada pico le indica el ángulo y el desplazamiento de la línea.

No he hecho esto en MATLAB, pero veo varios ejemplos y documentación:

Correlación cruzada (Wikipedia lo llama Correlación de fase ) no funcionará si las imágenes son rotados Sin embargo, hay un método relacionado basado en coordenadas log-polares que funcionará independientemente de la rotación, escala, corte y traslación.

Este método sería mejor si tiene que hacer coincidir imágenes arbitrarias. Combinar formas conocidas o líneas oscuras se hace mejor con otros métodos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top