Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

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


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: Image rotation detection probelm
Replies: 32   Last Post: Aug 8, 2013 10:46 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Phillip

Posts: 12
Registered: 8/2/10
Re: Image rotation detection probelm
Posted: Dec 4, 2012 1:08 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Hi Darren,

That code to do the image shift gives a pure translation. But then you are trying to take the polar transform, and determine an angle of rotation (!). So I would remove that polar image stuff and just try to extract the translation amount (i.e. you should caluclate a displacement of 20 pixels in the vertical direction).

Once you have that down pat, you can switch to rotating the image, doing the polar transform, and doing the xcorr of that. To rotate the image you can do something like

rotatedImage = imrotate(image1,angleInDegrees,'crop','bilinear');

Then finally, you can test your code by both translating and shifting the image. To solve this I usually do an initial translation correction (Cartesian images), followed by a rotation correction (polar images), then a final translation correction (Cartesian images) to mop up any residual errors.

Cheers,

Phillip

"Darren g" wrote in message <k9jeil$gc6$1@newscl01ah.mathworks.com>...
> Hi Phillip,
>
> I think the problem is in the Angle of rotation calculation equation but I could not figure out how to change it.
> Here is the code I used to check with the code you provided to introducing the image shift.
>
> clear all;
> image1 = imread('0001.png');
>
> xShift = 0;
> yShift = 20;
> translatingElement = translate(strel(1), [yShift xShift]);
> image2 = imdilate(image1,translatingElement);
>
> image1 = image1(1+yShift:end-yShift,1+xShift:end-xShift);
> % get rid of Infs from the imdilate function
> image2 = image2(1+yShift:end-yShift,1+xShift:end-xShift);
>
> nrad = 128; ntheta = 360; cx = (283/2)+0.5; cy = (290/2)+0.5;
> % cx & cy for a 283x290 pixels image
>
> pim1 = polartrans(image1, nrad, ntheta, cx, cy, 'linear', 'valid');
>
> pim2 = polartrans(image2, nrad, ntheta, cx, cy, 'linear', 'valid');
>
> pim1 = pim1 - mean(mean(pim1));
> pim2 = pim2 - mean(mean(pim2));
>
> cc_Matrix = xcorr2(pim1, pim2);
> figure (1);
> imagesc(cc_Matrix);
> axis image;
> [max_cc_Matrix, maxColumn] = max(max(cc_Matrix))
> [max_cc_Matrix, maxRow] = max(cc_Matrix(:, maxColumn))
>
> roiDiam = 20;
> cc1_Matrix = cc_Matrix(maxRow-roiDiam/2:maxRow+roiDiam/2, maxColumn-roiDiam/2:maxColumn+roiDiam/2);
> figure (2);
> imagesc(cc1_Matrix);
> axis image;
> [a,b] = find_com(cc1_Matrix) % calling function
>
> Angle_of_rotation = (a + maxColumn - length(cc1_Matrix)/2) * 360/ntheta
>
> Could you pls have a look of this with any of your random image?
>
> Thanks.
> Darren



Date Subject Author
6/19/09
Read Image rotation detection probelm
Pradyumna A
6/19/09
Read Re: Image rotation detection probelm
Matt
9/16/09
Read Re: Image rotation detection probelm
Hamid Reza Mohseni Nejad
8/2/10
Read Re: Image rotation detection probelm
Phillip
12/21/10
Read Re: Image rotation detection probelm
chee ali
12/21/10
Read Re: Image rotation detection probelm
Phillip
12/21/10
Read Re: Image rotation detection probelm
Matt J
12/21/10
Read Re: Image rotation detection probelm
Phillip
11/14/12
Read Re: Image rotation detection probelm
Darren g
11/14/12
Read Re: Image rotation detection probelm
Phillip
11/19/12
Read Re: Image rotation detection probelm
Darren g
11/19/12
Read Re: Image rotation detection probelm
Phillip
11/20/12
Read Re: Image rotation detection probelm
Darren g
11/20/12
Read Re: Image rotation detection probelm
Phillip
11/26/12
Read Re: Image rotation detection probelm
Darren g
11/26/12
Read Re: Image rotation detection probelm
Phillip
11/27/12
Read Re: Image rotation detection probelm
Darren g
11/28/12
Read Re: Image rotation detection probelm
Phillip
11/29/12
Read Re: Image rotation detection probelm
Darren g
12/2/12
Read Re: Image rotation detection probelm
Phillip
12/3/12
Read Re: Image rotation detection probelm
Darren g
12/4/12
Read Re: Image rotation detection probelm
Phillip
12/11/12
Read Re: Image rotation detection probelm
Darren g
12/11/12
Read Re: Image rotation detection probelm
Phillip
12/12/12
Read Re: Image rotation detection probelm
Darren g
12/12/12
Read Re: Image rotation detection probelm
Steven Lord
2/6/13
Read Re: Image rotation detection probelm
Darren g
12/20/12
Read Re: Image rotation detection probelm
Phillip
12/20/12
Read Re: Image rotation detection probelm
Kev
12/20/12
Read Re: Image rotation detection probelm
Kev
7/7/13
Read Re: Image rotation detection probelm
xmlfor
8/8/13
Read Re: Image rotation detection probelm
jacaboo

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.