MATLAB App Designer - Plotting image on uifigure

7 次查看(过去 30 天)
I'm attempting to plot a grayscale image on a uifigure (not on the main UIAxes) using the following code:
f = uifigure('Name','Please draw your desired region of interest with the mouse.');
im = uiimage(f);
im.ImageSource = (app.Images(:,:,app.CurrentImageIndex));
My overall goal here is to allow the user to draw a rectangle to specify a region of interest. I wasn't able to do this on the UIAxes - I'm not sure that there's a way to draw on them, so I'm creating a uifigure instead. The problem is that the ImageSource property must be an mxnx3 color data matrix. So I have two questions: Why does this property need a 3d matrix to work? Is there an alternative way to plot a grayscale image on a uifigure? Any help would be greatly appreciated.

回答(1 个)

Jyotsna Talluri
Jyotsna Talluri 2020-2-28
The ImageSource property of uifigure does not support grayscale image. This is a known issue and might be considered in a future release. The alternative could be changing the image component to UIAxes and then use imshow with the UIAxes as the parent
>> imshow(app.Images(:,:,app.CurrentImageIndex),'Parent',app.UIAxes));

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by