Question

J'ai pris 2 images avec un point de croisement et maintenant j'essaie de comparer ces 2 images et de trouver quelle est la distance et l'angle déplacés. Comment puis-je utiliser MATLAB pour cela? Merci beaucoup!

Pic3 Pic2

Était-ce utile?

La solution

L’alignement de deux images de la même scène est appelé enregistrement d'image . Si vous avez accès à la Boîte à outils de traitement d'image , vous pouvez y trouver un certain nombre de fonctions pour vous aider .

Consultez ces démonstrations d'enregistrement d'images .

Autres conseils

Si ces lignes noires sont toujours présentes dans les images et qu’elles sont presque parfaitement droites (sans déformation en courbes), une meilleure méthode consisterait à utiliser le Transformation de Hough ou Transformation du radon (différentes façons de penser à faire la même chose) pour ne trouver que les deux lignes noires, puis comparer leurs positions.

Vous devez d'abord inverser les images pour que les lignes soient d'un blanc éclatant (grandes valeurs), puis effectuer la transformation de Hough. La sortie pour chaque image sera deux points blancs brillants, à partir desquels vous pouvez effectuer une détection de crête. La coordonnée de chaque pic vous indique l’angle et le décalage de la ligne.

Je n'ai pas fait cela dans MATLAB, mais je vois un certain nombre d'exemples et de documentation:

La corrélation croisée (Wikipedia l’appelle corrélation de phase ) ne fonctionnera pas si les images sont en rotation. Cependant, il existe une méthode associée basée sur les coordonnées log-polaires cela fonctionnera quels que soient la rotation, l’échelle, le cisaillement et la translation.

Cette méthode serait préférable si vous devez faire correspondre des images arbitraires. Faire correspondre des formes connues ou des lignes sombres est préférable avec d’autres méthodes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top