How to rotate an image in Matlab

64 views (last 30 days)
Emir Mulic
Emir Mulic on 4 May 2022
Edited: Image Analyst on 7 May 2022
For my class project I have to create an app which loads an image and allows you to change Red, blue, green colors and the brightness. I have sucessfully coded this app. Now I have to add a button which would allow me to rotate the image 90 degrees each time. The requirements is that I do not use any pre existing matlab functions, but have to create my own.
Would greatly appreciate any help on this. Thank you.

Answers (4)

J Chen
J Chen on 4 May 2022
You basically read the image into a matrix, then change the array element to a different location (swich row to column, etc.)
  1 Comment
Emir Mulic
Emir Mulic on 4 May 2022
How would i store the image into an empty matrix. And then would I use some matrix transpose function ?

Sign in to comment.


ac_bm_mat
ac_bm_mat on 5 May 2022
Edited: ac_bm_mat on 5 May 2022
A = imread('ngc6543a.jpg');
You may use imread to read an image to a matrix.
Then operating with A matrix can give you 90 degree rotated image.

yanqi liu
yanqi liu on 7 May 2022
yes,sir,may be rot90,such as
im = imread('football.jpg');
for i = 1 : 4
im = rot90(im, 1);
figure; imshow(im, []);
end
  1 Comment
Image Analyst
Image Analyst on 7 May 2022
rot90 is a built in function, which he is not allowed to use.

Sign in to comment.


Image Analyst
Image Analyst on 7 May 2022
Edited: Image Analyst on 7 May 2022
You can use the apostrophe operator '
yourImage = yourImage';
This transposes the matrix. To now get a mirror image you have to swap rows or columns.
You can use the rotation matrix: https://en.wikipedia.org/wiki/Rotation_matrix

Community Treasure Hunt

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

Start Hunting!