How to rotate an image in Matlab

92 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

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!