MATLAB App Designer - Plotting image on uifigure

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.

Antworten (1)

Jyotsna Talluri
Jyotsna Talluri am 28 Feb. 2020

0 Stimmen

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));

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2019b

Gefragt:

am 25 Feb. 2020

Beantwortet:

am 28 Feb. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by