image rotation along x and y axis using bilinear interpolation

4 visualizzazioni (ultimi 30 giorni)
I am rotating the image by theta1 along x axis and theta2 along y axis using the mapping equation: f(x,y)=f([cos(theta1)*x+sin(theta1)*y]/cos(theta1-theta2),[-sin(theta2)*x+cos(theta2)*y]/cos(theta1-theta2)). Now I am facing two problems here: 1. if theta1 and theta2 are taken different then image gets cropped. So, how to set the size of output that no matter what you take as theta1 and theta2, the complete image is obtained. 2. How to re-rotate the above result to get the intial image again using bilinear interpolation.
I am enclosing the code, Please do help me.

Risposte (1)

Image Analyst
Image Analyst il 4 Feb 2015
Why reinvent the wheel? Just use imresize(). It has a bilinear option.
  5 Commenti
Image Analyst
Image Analyst il 5 Feb 2015
rotatedImage = imrotate(originalImage, 30); % Rotate 30 degrees.
Kritika
Kritika il 5 Feb 2015
I got it, but what if I have to rotate y axis with different angle?

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by