imrotate in Matlab App Desinger

10 views (last 30 days)
monkey_matlab
monkey_matlab on 13 Oct 2017
Commented: monkey_matlab on 24 Oct 2017
Hello,
Is it possible to rotate an image in Matlab app designer?
I input an image using the following code:
% Code that executes after component creation
function startupFcn(app)
imag = imread('cameraman.tif');
handles.I = imresize(imag,0.75);
imshow(handles.I,'Parent',app.UIAxes)
end
How to now rotate the image using a slider.
Under the slider code, I have tried the following but could not get it to work:
% Value changing function: SteeringSlider
function SteeringSliderValueChanging(app, event)
changingValue = event.Value;
angle = round(event.Value);
imshow( imrotate(app.UIAxes,angle,'bilinear','crop') );
end
Can you tell me how to rotate an image in Matlab App Designer? Thanks.

Answers (2)

Rajesh Balagam
Rajesh Balagam on 17 Oct 2017
Edited: Rajesh Balagam on 17 Oct 2017

Sean de Wolski
Sean de Wolski on 17 Oct 2017
You're calling imshow on the uiaxes not the image. I would manage this like this:
app.UIAxes = uiaxes; % You won't need this in app designer since it's already there
im = imread('cameraman.tif');
imh = imshow(im, 'Parent', app.UIAxes);
for angle = 0:10:360
imh.CData = imrotate(im,angle,'bilinear','crop');
pause(0.25)
end
Store imh and im as properties of your app.
  3 Comments
Sean de Wolski
Sean de Wolski on 24 Oct 2017
app.imh.CData = imrotate(app.imageData, ...)
drawnow limitrate
You're rotating the handle not the image data and also need to reference app. Also
monkey_matlab
monkey_matlab on 24 Oct 2017
I edited the code as per your suggestion (see updated code above) but the image is still not rotating when I move the slider.

Sign in to comment.

Categories

Find more on Interactive Control and Callbacks 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!