Thread Subject: estimating translation/rotation using phase correlation method

Subject: estimating translation/rotation using phase correlation method

From: rasengan rasengan

Date: 30 Jun, 2009 23:48:01

Message: 1 of 4

Hi, i am developping an application that calculate translation using phase correlation method given two images I1 and I2 i applied the following algorithm :
1. calculate fI1=fft2(I1) and fI2=fft2(I2)
2. calculate DSP=fI1.*conj(fI2)./abs((fI1.*conj(fI2)));
3. calculate ITCRL=ifft2(DSP)
4. calculate the indices that correspond to the maximum of ITCRL
these indices gives the displacement vector that we search.

is my algorithm is correct or not correct?...... this is my question
excuse my bad english... thanks for your help

Subject: estimating translation/rotation using phase correlation method

From: Said Pertuz

Date: 24 Nov, 2009 15:20:23

Message: 2 of 4


> 1. calculate fI1=fft2(I1) and fI2=fft2(I2)
> 2. calculate DSP=fI1.*conj(fI2)./abs((fI1.*conj(fI2)));
> 3. calculate ITCRL=ifft2(DSP)
> 4. calculate the indices that correspond to the maximum of ITCRL
> these indices gives the displacement vector that we search.

I think the algorithm is correct this far. You must additionally take care of the location of the peak in order to handle negative shifts. e.g. In a MxN pair of images, when the peak appears at a location (x,y) where x>N/2 and y>M/2, it means that the shift is negative.

Subject: estimating translation/rotation using phase correlation method

From: Said Pertuz

Date: 24 Nov, 2009 15:21:18

Message: 3 of 4


> 1. calculate fI1=fft2(I1) and fI2=fft2(I2)
> 2. calculate DSP=fI1.*conj(fI2)./abs((fI1.*conj(fI2)));
> 3. calculate ITCRL=ifft2(DSP)
> 4. calculate the indices that correspond to the maximum of ITCRL
> these indices gives the displacement vector that we search.

I think the algorithm is correct this far. You must additionally take care of the location of the peak in order to handle negative shifts. e.g. In a MxN pair of images, when the peak appears at a location (x,y) where x>N/2 and y>M/2, it means that the shift is negative.

Subject: estimating translation/rotation using phase correlation method

From: vasanth nc

Date: 18 Jan, 2010 10:55:05

Message: 4 of 4

"Said Pertuz" <saidpertuz@yahoo.es> wrote in message <hegtjn$it6$1@fred.mathworks.com>...
>
> > 1. calculate fI1=fft2(I1) and fI2=fft2(I2)
> > 2. calculate DSP=fI1.*conj(fI2)./abs((fI1.*conj(fI2)));
> > 3. calculate ITCRL=ifft2(DSP)
> > 4. calculate the indices that correspond to the maximum of ITCRL
> > these indices gives the displacement vector that we search.
>
> I think the algorithm is correct this far. You must additionally take care of the location of the peak in order to handle negative shifts. e.g. In a MxN pair of images, when the peak appears at a location (x,y) where x>N/2 and y>M/2, it means that the shift is negative.
>hi i tried this code. its working good. thank you.
>i want to know about negative shift and how to avoid wrong results obtained by negative shift.

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
image registration Said Pertuz 24 Nov, 2009 10:24:07
rssFeed for this Thread

Contact us at files@mathworks.com