imrotate in Matlab App Desinger

16 次查看(过去 30 天)
monkey_matlab
monkey_matlab 2017-10-13
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.

回答(2 个)

Rajesh Balagam
Rajesh Balagam 2017-10-17
编辑:Rajesh Balagam 2017-10-17

Sean de Wolski
Sean de Wolski 2017-10-17
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 个评论
Sean de Wolski
Sean de Wolski 2017-10-24
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 2017-10-24
I edited the code as per your suggestion (see updated code above) but the image is still not rotating when I move the slider.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by