How can I check a specific axes has an image or not ?
2 次查看(过去 30 天)
显示 更早的评论
I am using app designer in Matlab 2018a and I replaces a button for testing which is disable.
I know how to enable it but I want to enable it when I have an image on axis.
0 个评论
采纳的回答
Kevin Phung
2019-1-13
you can get the 'Children' property of the axes.
axes_handle.Children
%or
get(axes_handle,'Children')
6 个评论
Walter Roberson
2019-1-13
if ~isempty(findobj(app.UIaxis.Children, 'type', 'flat', 'type', 'image'))
or
any(arrayfun(@(x)isa(x,'matlab.graphics.primitive.Image'),ax.Children))
更多回答(1 个)
Image Analyst
2019-1-13
What you accepted as the answer is really not the answer as Walter explained. You can use getimage() and check for zero-sized image. Here's a demo:
% Have either plot() or imshow() - comment out one of them.
% Put something into an axes that is NOT an image.
% plot(1:10)
% Put something into an axes that IS an image.
imshow('moon.tif')
% Check what's in the axes.
theImage = getimage();
whos theImage
if size(theImage, 1) ~= 0
msgbox('There is an image in there');
else
msgbox('There is no image in there');
end
3 个评论
Image Analyst
2019-1-13
You're welcome. You can also than people by clicking the "Vote" link under their icon.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!