我有一张在Matlab中的图中绘制的图片:
pic=imread('mypic.bmp');
figure(1)
h=image([1 1.2],fliplr([1 1.2],pic)
现在我想使用this question中描述的方法将此图移动到图中的其他位置:
for i=2:3
indices=[i i+.2];
set(h,'?1',indices,'?2',fliplr(indices))
end
我需要填写什么而不是?1
和?2
?在引用的问题中,考虑plot
命令,他们使用XData
和YData
。
答案 0 :(得分:1)
图像对象(无论是使用imshow
,imagesc
还是image
创建)还还有XData
and YData
properties。
xdata = get(h, 'XData');
ydata = get(h, 'YData');
它们指定图像数据的x和y范围。您可以像对待plot
个对象一样更改它们。
for k = 2:3
indices = [k, k+0.2];
set(h, 'XData', indices, 'YData', fliplr(indices));
% Be sure to make it so the axes can display it
set(gca, 'XLim', indices, 'Ylim', indices);
end