我歪曲了图像的某些部分并将其显示在一个带有子图的图中。子图的数量不确定。我从文件中读取图像然后裁剪它们。我的目标是当我点击或双击子图时,我想在新图中看到整个图像。
我想举一个例子来澄清我的问题。如果我点击第一个子图,我想在新图中看到整个摄像师图像。
有可能吗?如果有可能,那是什么方式?
答案 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