Translation in x & y

How can I find the translations in the x & y coordinates in order to align edge detected images. I have 3 edge detected images and I want to align the second and third parts(G&R) to the first(B).
How can I do this using the 'circshift' function. As I want to Use the sum of squared difference metric to measure how well images match:
Sum of squared differences: sum( (image1-image2).^2 )
I want to record the displacements in x&y that were used to align the parts for each image

Respuestas (3)

Image Analyst
Image Analyst el 2 de Abr. de 2013

0 votos

Your method will be, well, let's say "suboptimal." You might want to give imregister() a try. You can run it on either on the original images or the edge detected output images.

1 comentario

Image Analyst
Image Analyst el 3 de Abr. de 2013
Here's my demo of normalized cross correlation which can be used to locate one image in another: http://www.mathworks.com/matlabcentral/answers/69245#answer_80505

Iniciar sesión para comentar.

Sean de Wolski
Sean de Wolski el 2 de Abr. de 2013

0 votos

doc imregister
I have also found this one to be very fast and efficient:
It does not minimize the sum of squared differences, though. It instead maximizes the normalized cross power spectrum.
Implementing your own minimization of SSD should be fairly straight forward, simply a for-loop over a few different ranges.

1 comentario

Fabo
Fabo el 9 de Abr. de 2013
How would I do a for-loop for the ssd, Im new to matlab

Iniciar sesión para comentar.

Isabella Marino
Isabella Marino el 5 de Oct. de 2020

0 votos

Q=-6;
P=1;
(Q&P)

Etiquetas

Preguntada:

el 2 de Abr. de 2013

Comentada:

el 5 de Oct. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by