1
如何通过单击按钮将图像沿x或y轴移动?Matlab移动图像
我已经用'image = imread('image.jpg');'然后使用'Left = uicontrol('Parent',gcf,'Style','pushbutton','String','Left',...',但是我卡在那里了。 。方向
如何通过单击按钮将图像沿x或y轴移动?Matlab移动图像
我已经用'image = imread('image.jpg');'然后使用'Left = uicontrol('Parent',gcf,'Style','pushbutton','String','Left',...',但是我卡在那里了。 。方向
您可以创建按钮,改变表示图像轴的XLim
和YLim
特性的简单的回调函数
保存原来的限制:
xl = xlim;
yl = ylim;
例如移动图像向左:
step = 5; %# move by 5 pixels
xlim(xlim+step)
要向上移动:
ylim(ylim+step)
要恢复到原来的位置:
xlim(xl)
ylim(yl)
UPDATE:
下面是工作示例代码(不使用说明书):
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 2012-04-14 10:47:32
@omegaFlame:很抱歉,迟到回复。我用测试过的示例代码更新了答案。这是你需要的吗? – yuk 2012-04-16 19:03:33
非常感谢 – omegaFlame 2012-04-18 15:52:57