Matlab移动图像

Posted

技术标签:

【中文标题】Matlab移动图像【英文标题】:Matlab move image 【发布时间】:2012-04-13 20:00:58 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

您可以为按钮创建一个简单的回调函数,更改显示图像的坐标轴的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)');

【讨论】:

谢谢@yuk。能否详细介绍一下回调函数? @omegaFlame:抱歉回复晚了。我用经过测试的示例代码更新了答案。是你需要的吗? @yuk 如果我使用 GUIDE 会怎样?

以上是关于Matlab移动图像的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB:图像的移动(move函数)

在matlab编程怎么把图像的名称放到图像下面

matlab图像处理

图像拼接基于matlab最低能量线裁剪图像拼接含Matlab源码 2127期

图像拼接基于matlab最低能量线裁剪图像拼接含Matlab源码 2127期

在matlab中的图像中裁剪具有特定分辨率的图像