Domanda

Ho scattato 2 immagini con un punto croce e ora sto provando a confrontare queste 2 immagini e scoprire qual è la distanza e l'angolo spostato. Come posso usare MATLAB per fare questo? Grazie mille!

Pic3 Pic2

È stato utile?

Soluzione

L'allineamento di due immagini della stessa scena è chiamato registrazione dell'immagine . Se hai accesso alla Image Processing Toolbox , puoi trovare un numero di funzioni in ti aiuta .

Dai un'occhiata a queste demo di registrazione delle immagini .

Altri suggerimenti

Se quelle linee nere sono sempre nelle immagini e sono quasi perfettamente diritte (non distorte in curve), un metodo migliore sarebbe usare Trasformazione di Hough o Trasformazione del radon (tipi di modi diversi di pensare a fare la stessa cosa) per trovare solo le due linee nere e poi confrontare le loro posizioni.

Dovresti prima invertire le immagini, quindi le linee sono bianche luminose (valori grandi), quindi fai la trasformazione di Hough. L'output per ogni immagine saranno due punti bianchi luminosi, da cui è possibile eseguire il rilevamento di picco. La coordinata di ciascun picco indica l'angolo e l'offset della linea.

Non l'ho fatto in MATLAB, ma vedo una serie di esempi e documentazione:

Correlazione incrociata (Wikipedia lo chiama Correlazione di fase ) non funzionerà se le immagini sono ruotati. Tuttavia, esiste un basato su coordinate log-polari funzionerà indipendentemente da rotazione, scala, taglio e traduzione.

Questo metodo sarebbe meglio se dovessi abbinare immagini arbitrarie. La corrispondenza di forme conosciute o linee scure viene eseguita meglio con altri metodi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top