如何将坐标系逻辑关联到图像,使原点位于MATLAB中图像的中心?
A = phantom(128);
imshow(A);
如何为图片axes
生成A
以及如何针对新坐标系放置图片,图片中心位于(0,0)
。
答案 0 :(得分:1)
您可以更改图片的XData
和YData
属性,以便将其移动。默认情况下,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);