How can I check a specific axes has an image or not ?
    2 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Ahmer Shahid
 le 13 Jan 2019
  
    
    
    
    
    Commenté : Ahmer Shahid
 le 13 Jan 2019
            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 commentaires
Réponse acceptée
  Kevin Phung
      
 le 13 Jan 2019
        you can get the 'Children' property of the axes.
axes_handle.Children
%or
get(axes_handle,'Children')
6 commentaires
  Walter Roberson
      
      
 le 13 Jan 2019
				if ~isempty(findobj(app.UIaxis.Children, 'type', 'flat', 'type', 'image'))
or
any(arrayfun(@(x)isa(x,'matlab.graphics.primitive.Image'),ax.Children))
Plus de réponses (1)
  Image Analyst
      
      
 le 13 Jan 2019
        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 commentaires
  Image Analyst
      
      
 le 13 Jan 2019
				You're welcome.  You can also than people by clicking the "Vote" link under their icon.
Voir également
Catégories
				En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!