How to rotate an image along y-axis?

I want to rotate an image along y-axis. I tried using 'rotate' command of MATLAB but could not succeed. Can anyone plz help?

Risposte (2)

Nitin
Nitin il 22 Gen 2014

0 voti

Please try imrotate, you can find more information here
Alternatively, you can try flipdim or rot90

3 Commenti

Geetika
Geetika il 22 Gen 2014
Modificato: Geetika il 22 Gen 2014
i tried that. but that only rotates along z-axis. flip will flip completely. i want customized rotations along y-axis.
Hello,
I also have the same problem as of your.Hoping that you might have found some solution to this problem.So, Please share your solution with me. you can mail me at kritikamittal1991@gmail.com
See my answer below.

Accedi per commentare.

If you want rotation along the y axis instead of the z axis, then the image will appear foreshortened (narrower), thus the width is reduced. So you can simply use imresize() to calculate the new size. The new number of columns will be
theta = pi/12; % Whatever.
[rows, columns, numberOfColorChannels] = size(originalImage);
newColumns = columns * cos(theta);
rotatedImage = imresize(originalImage, [rows, newColumns]);
This will be like you're tilting the right edge of the image towards you as you look down along the z axis to it (looking at the image perpendicularly).

2 Commenti

Thank you very much for your reply. But what if I rotate the image by pi/2 means 90 degrees. It will just return a column vector. How to visualize the new image?
Yes, if you rotate along the y axis, the image will rotate out of the plane and you will be looking at it "edge-on". It will be a column vector. Similarly if you rotate 90 degrees about the x axis, you will get a row vector. I don't know why you'd want to do that, but you can use imshow() to visualize the new edge-on image.

Accedi per commentare.

Richiesto:

il 21 Gen 2014

Commentato:

il 4 Feb 2015

Community Treasure Hunt

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

Start Hunting!

Translated by