逻辑上将坐标框架与matlab中的图像相关联

时间:2017-02-07 18:27:20

标签: matlab

如何将坐标系逻辑关联到图像,使原点位于MATLAB中图像的中心?

A = phantom(128);
imshow(A);

如何为图片axes生成A以及如何针对新坐标系放置图片,图片中心位于(0,0)

1 个答案:

答案 0 :(得分:1)

您可以更改图片的XDataYData属性,以便将其移动。默认情况下,imshow不会显示基础axes,因此如果您想要显示这些内容,则需要启用轴可见性。

imshow(A, 'XData', [-0.5 0.5] * size(A, 2), ...
          'YData', [-0.5 0.5] * size(A, 1));
axis on

如果您需要做的不仅仅是移动图像坐标,您可以使用imref2d对象指定转换,然后将其作为第二个输入传递给imshow

ref = imref2d(size(A),[-64 64], [-64 64]);
imshow(A, ref);

<强>更新

如果您希望能够使用此转换的坐标系访问数据,则必须使用interp2来执行此操作。

[x,y] = ref.worldToIntrinsic(2, -3);
value = interp2(A, x, y);