How to rotate an image by applying rotational matrix
5 次查看(过去 30 天)
显示 更早的评论
I guess rotating 3D image is same as rotating 2D image,right? for example, I have a 240x 240 2D image
R = [0 -1;-1 0]; % rotate 90 degree
Image = imread('pout.tif') % built-in image
Image = Image (1:240,1:240);
Image = reshape(Image , (240*240)/2, 2) * R;
Processed_image = reshape (Image,240,240);
However, It did not work.
Anyone help me?
0 个评论
回答(1 个)
Matt J
2014-10-12
编辑:Matt J
2014-10-12
You can use imrotate to rotate a 2D image, or a 3D stack of 2D images slice-by-slice.
Multiplying the rotation matrix by the pixel values would not be appropriate. The matrix needs to be multiplied with pixel coordinates. Then you have to interpolate the pixel values at the rotated coordinates, as imrotate or imtransform do for you internally.
4 个评论
Matt J
2014-10-14
As it says in the documentation, A must be either 4x3 or 4x4. What is the dimension of your A matrix?
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!