How to do image rotation in matlab?

5 views (last 30 days)
Nimra Azmat
Nimra Azmat on 23 Jun 2019
Commented: Rik on 30 Oct 2020
How to make gui for image rotation.i need the code to get image rotated at every time i press pushbutton when i upload an image.
a=getappdata(0,'a');
aclock=a;
aclock=imrotate(aclock,270);
axes(handles.axes1);
imshow(aclock);
  2 Comments
Rik
Rik on 23 Jun 2019
This code looks like it should work. What is your question? What isn't this code doing that you want it to do?
Rik
Rik on 23 Jun 2019
Comment mistakenly posted as answer by Nimra Azmat:
it only rotate the image once and when i move it on the other angle (anticlock) it process the orignal image i want my code to change the orginal image and change it according to button press on any command

Sign in to comment.

Accepted Answer

Rik
Rik on 23 Jun 2019
It is a bit strange to store your image with getappdata on the graphics root, instead of with guidata. You will also notice that you aren't actually saving the result anywhere, so the function you've written only rotates the original image.
If you want to rotate the image in every callback, you need to store your image back somewhere, so in your case something like this should work:
a=getappdata(0,'a');
aclock=a;
aclock=imrotate(aclock,270);
axes(handles.axes1);
imshow(aclock);
setappdata(0,'a',aclock)

More Answers (1)

NAJMA FAYAZ
NAJMA FAYAZ on 30 Oct 2020
Try This
global a
a=imrotate(a,270);
axes(handles.axes1);
imshow(a);
  1 Comment
Rik
Rik on 30 Oct 2020
I admit that I should have been more vocal about storing data in the appdata of the groot (instead of the GUI figure), but a global is definitely worse.
For future edits: you can find a sandbox and instructions for the editor here.

Sign in to comment.

Categories

Find more on Image Processing Toolbox 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!