Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: How to calculate the angle between two images?
Replies: 41   Last Post: Dec 8, 2012 11:02 PM

 Messages: [ Previous | Next ]
 Dave Robinson Posts: 1,338 Registered: 1/25/05
Re: How to calculate the angle between two images?
Posted: Apr 3, 2009 8:07 AM

"khoo" <jim_khoo@hotmail.com> wrote in message <gr4ten\$oks\$1@fred.mathworks.com>...
> Hi all, currently i face the problem to find the rotation angle...i got one image is rotate in unknown angle compare with the original image, but i not have idea how to calculate the angle cause the angle is a variable angle..can anyone senior teach me here,...need it urgently...and i quite noob in image processing..

One method that I found for easily determining the relative
angle of 'twist' between a known reference image and a rotated image was accomplished very reliably even for arbitrary images.

1) Compute the vertical and horizontal gradient of every
pixel
2) Use the atan2 function to convert the image to an angle
image. Note that pixels on a featureless region returns
angles that are purely dictated by noise.
3) Calculate an edge image - using edge, Canny is a good
choice, but Sobel will probably work - depending on the
complexity of the image.
4) Fatten up the edge lines using morphology operators
dilate/erode. Binarize into a mask image
meaningless angle pixels. We are only looking at gradients
that are real.
6) Apply this to the reference image, and the target image
7) Histogram the results. Remember as the pixels represent
angles, the histogram essentially wraps round 0 mapping to
8) Compare the histograms, I found correlation a good way
to do this, the peak on the correlogram provides you with
the relative rotation between the two images.

digital stepping (aliasing) you can get peaks at 0 and 90
degrees on both images. So you need to do something
intelligent at removing this from your histograms prior to

One of the fun things that I tried, was to use fast
correlation to do the matching. I FFT'd both histograms,
then extended the spectra by zero packing, done the
multiplication in the frequency domain, then followed up by
the IFFT. This generated a very nicely interpolated measure
of the relative rotation between the two images.

Hope that this is helpful, and makes sense

Regards

Dave Robinson

Date Subject Author
4/3/09 khoo
4/3/09 Dave Robinson
4/3/09 khoo
4/3/09 Dave Robinson
4/3/09 khoo
4/3/09 Dave Robinson
4/3/09 khoo
4/3/09 khoo
4/4/09 khoo
4/4/09 Dave Robinson
4/4/09 khoo
4/4/09 khoo
4/5/09 khoo
4/5/09 Dave Robinson
4/5/09 khoo
4/5/09 khoo
4/5/09 Dave Robinson
4/5/09 khoo
4/6/09 khoo
4/6/09 Dave Robinson
4/6/09 khoo
4/6/09 Dave Robinson
4/6/09 khoo
4/6/09 Dave Robinson
4/6/09 khoo
4/6/09 khoo
4/6/09 khoo
4/7/09 khoo
4/7/09 khoo
4/7/09 Dave Robinson
12/8/12 Jeff
4/3/09 Skeptic
4/3/09 Dave Robinson
4/3/09 Roger Stafford
4/3/09 khoo
4/3/09 Roger Stafford
4/3/09 ImageAnalyst
4/3/09 khoo
4/4/09 khoo
4/6/09 Matt
4/6/09 khoo
4/6/09 Matt