ボタンをクリックして、x軸またはy軸に沿って画像を移動するにはどうすればよいですか?
'image = imread(' image.jpg');'で画像をインポートしました 次に、'Left = uicontrol(' Parent'、gcf、' Style'、' pushbutton'、' String'、' Left'、...'を使用しますが、そこでスタックします。画像を任意の場所に移動したい方向。
ボタンをクリックして、x軸またはy軸に沿って画像を移動するにはどうすればよいですか?
'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)
更新:
(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)');