How to use Vislabels() function in app designer to show the labels in an image?
4 views (last 30 days)
Show older comments
Anjan Goswami
on 28 Dec 2020
Commented: Anjan Goswami
on 28 Dec 2020
I want to show a labeled image in a app.UIAxes object. I have tried several codes to fit the vislabels function so that I can see the labeling in my app's interface. Following is one of the examples which did not work as well.
vislabels(ImageName, 'Parent', app.UIAxesLabeledImage);
0 Comments
Accepted Answer
Walter Roberson
on 28 Dec 2020
Edited: Walter Roberson
on 28 Dec 2020
Assuming you are using the File Exchange contribution https://www.mathworks.com/matlabcentral/fileexchange/19665-visualize-output-of-bwlabel then that contribution does not permit you to choose the output location. You would need to upgrade the code to permit an output location.
Note: the way that code uses imshow(), imshow() will delete the current axes if it detects that the current axes occupies the entire figure -- unless the axes has "hold" set on. Therefore you cannot just modify it to do
if nargin == 1
axesHandle = gca;
else
axesHandle = InputAxes;
end
imageHandle = imshow(I, 'InitialMagnification', 'fit');
because invoked like that, it will look for the current axes of a traditional figure, and (probably) delete that.
However, you can use
if nargin == 1
axesHandle = gca;
else
axesHandle = InputAxes;
end
imageHandle = imshow(I, 'InitialMagnification', 'fit', 'Parent', axesHandle);
because imshow() does not delete the current axes if you pass it as the parent.
More Answers (0)
See Also
Categories
Find more on Develop Apps Using App Designer 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!