MATLAB App Designer - Plotting image on uifigure

6 次查看(过去 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 uifigure-Based Apps 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by