单击子图显示整个图像

时间:2014-08-06 12:48:07

标签: matlab events image-processing

我歪曲了图像的某些部分并将其显示在一个带有子图的图中。子图的数量不确定。我从文件中读取图像然后裁剪它们。我的目标是当我点击或双击子图时,我想在新图中看到整个图像。

我想举一个例子来澄清我的问题。如果我点击第一个子图,我想在新图中看到整个摄像师图像。

enter image description here

有可能吗?如果有可能,那是什么方式?

2 个答案:

答案 0 :(得分:4)

该示例使用可以添加到大多数matlab绘图命令的ButtonDownFcn。 只需将两个函数复制到一个文件中并运行“interactivePlot”函数即可。

list_of_images包含应绘制的所有矩阵。 矩阵的数量是灵活的。但是,您必须调整subplot命令...

function interactivePlot
    list_of_images = {rand(5), rand(10), rand(50), rand(100)}

    for ii = 1:length(list_of_images)
        subplot(2,2,ii)
        imagesc(list_of_images{ii}, 'ButtonDownFcn', @newFigure1)
    end
end

function newFigure1(h1, h2)
    figure()
    data = get(h1, 'CData');
    imagesc(data)
end    

答案 1 :(得分:0)

我遇到了同样的问题,请按如下所示更改您的功能,然后它将解决:

function newFigure1(h1, h2)
    figure()
    data = get(h1, 'CData');
    colormap(gray);
    imagesc(data)
end