在MATLAB GUI中handle.axes的值

时间:2013-04-27 12:36:24

标签: matlab matlab-figure matlab-guide

如果图像存在且图像不存在,handles.axes将存储哪个值? 我想检查图像是否存在的条件,我实现了这个

if handles.axes1==0
msgbox('Please insert image. . .', 'Error. . .');
end

但这不起作用,请告诉我这样做的最佳方式。

1 个答案:

答案 0 :(得分:1)

调用imshow不会修改您的轴手柄 - 这会在轴上绘制图像,但不对轴的手柄做任何操作。您可以使用以下方法检查轴中是否绘制了任何内容:

cs = get(handles.axes1, 'Children');
if isempty(cs)
    % Nothing in axes
else
    % Something has been drawn in the axes

    if any(strcmp(get(cs, 'Type'), 'image'))
        % An image has been drawn in the axes
    end
end

你也可以使用findobj来达到同样的效果,

hasImage = ~isempty(findobj('Type', 'image', 'Parent', handles.axes1));