Matlab移动图像

时间:2012-04-13 20:00:58

标签: matlab matlab-figure matlab-guide

如何通过单击按钮沿x轴或y轴移动图像?

我使用'image = imread('image.jpg')导入图像;'然后使用'Left = uicontrol('Parent',gcf,'Style','pushbutton','String','Left',...',但我被困在那里。我想在任何地方移动图像方向。

1 个答案:

答案 0 :(得分:0)

您可以为按钮创建一个简单的回调函数,该函数会更改显示图像的轴的XLimYLim属性。

保存原始限制:

xl = xlim;
yl = ylim;

例如,将图像移到左侧:

step = 5; %# move by 5 pixels
xlim(xlim+step)

向上移动:

ylim(ylim+step)

要恢复原始位置:

xlim(xl)
ylim(yl)

<强>更新

这是一个工作示例代码(不使用GUIDE):

im = imread('pout.tif');
imshow(im);
step = 5;
xl = xlim;
yl = ylim;
pbLeft = uicontrol('Parent', gcf, 'Style', 'pushbutton', 'String','Left', ...
    'Units','norm', 'Position', [0.4 0.05 0.1 0.05], 'Callback', 'xlim(xlim+step)');
pbReset = uicontrol('Parent', gcf, 'Style', 'pushbutton', 'String','Reset', ...
    'Units','norm', 'Position', [0.5 0.05 0.1 0.05], 'Callback', 'xlim(xl);ylim(yl);');
pbRight = uicontrol('Parent', gcf, 'Style', 'pushbutton', 'String','Right', ...
    'Units','norm', 'Position', [0.6 0.05 0.1 0.05], 'Callback', 'xlim(xlim-step)');
pbUp = uicontrol('Parent', gcf, 'Style', 'pushbutton', 'String','Up', ...
    'Units','norm', 'Position', [0.5 0.1 0.1 0.05], 'Callback', 'ylim(ylim+step)');
pbDown = uicontrol('Parent', gcf, 'Style', 'pushbutton', 'String','Down', ...
    'Units','norm', 'Position', [0.5 0.0 0.1 0.05], 'Callback', 'ylim(ylim-step)');