使用新手柄绘制相同的数字

时间:2015-10-13 20:21:00

标签: matlab

我想向用户显示一系列图像。对于用户以鼠标单击图像的形式输入的每个图像请求。将每次点击的坐标存储在矩阵中。因此,最终具有维数num_images x 2的矩阵。

function main()
    clc;
    global agent_pos;
    ....
    for i=1:numel(img_names),
        imname = [ path_img img_names{i}];
        im0 = imread(imname);
        imageHandle =imshow(im0);%_____________displays the image
        set(gcf,'units','normalized','outerposition',[0 0 1 1])
        set(imageHandle,'ButtonDownFcn',@ImageClickCallback);
        uiwait(gcf);
    end

end

function coordinates=ImageClickCallback ( objectHandle , eventData )
    axesHandle  = get(objectHandle,'Parent');
    coordinates = get(axesHandle,'CurrentPoint'); 
    coordinates = coordinates(1,1:2);
    global agent_pos;
    agent_pos=[agent_pos;coordinates]; %___ add these coordinates for each image
    close gcf;
end

我唯一的问题是,用户点击后不是创建一个新窗口,我可以以某种方式在当前图形本身上显示图像。

我尝试用clfcla替换close(gcf)。但是,在关闭当前窗口后,新图像也会出现在新窗口中。我认为这与附图中的手柄有关。

1 个答案:

答案 0 :(得分:1)

使用uiresume而不是关闭数字。