How to rotate an image along y-axis?
20 views (last 30 days)
Show older comments
I want to rotate an image along y-axis. I tried using 'rotate' command of MATLAB but could not succeed. Can anyone plz help?
0 Comments
Answers (2)
Image Analyst
on 4 Feb 2015
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 Comments
Image Analyst
on 4 Feb 2015
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.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!