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 で Creating, Deleting, and Querying Graphics Objects についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!