仿射变换和`imtransform`

时间:2019-01-11 17:38:17

标签: matlab image-processing

我正在尝试遵循此MATLAB example

请参见步骤2,该示例使用128 * 27矩阵M2,并使用仿射变换缩放和旋转M2,缩放系数为2.5。但是,我希望结果的大小应该是67.5 * 128(因为27 * 2.5 = 67.5,我认为它不起作用,但是我不知道在这种情况下如何处理双精度),MATLAB的实际结果是66 * 128。

在这种情况下如何得出66?

我尝试将比例因子更改为2,结果是53 * 128,并且由于27 * 2 = 54,我希望它是54 *128。

load mri
M1 = D(:,64,:,:);
M2 = reshape(M1,[128 27]);
T0 = maketform('affine',[0 -2.5; 1 0; 0 0]);
res = imtransform(M2,T0,'cubic')
size(res) // 66 * 128

1 个答案:

答案 0 :(得分:0)

包含27个元素的矩阵的坐标范围是0到26(这些是imtransform使用的坐标)。按2.5缩放后,这些坐标从0到26*2.5 =65。要保持从0到65的x坐标,您需要66个元素。

相关问题