理解Matlab转换矩阵(tform.T)

时间:2017-07-03 10:49:58

标签: matlab matrix transformation

我正在尝试做的是使用Matlab 2-D projective geometric transformation。实际的转换工作非常好,但我并不真正了解转换矩阵的每个项目的数量/值代表什么。

我的转换矩阵属于tform.T类型,是3 x 3转换的2D矩阵。该对象在official documentation例如:

中描述
K>> tform.T
ans =
    1.6558    0.0476         0
   -0.0476    1.5880         0
    6.0775   14.7415    1.0000

到目前为止,我认识到最后一列是每次[0,0,1]。但其他数字代表什么?到目前为止,我没有找到任何适当的文档(也许是因为它很容易让每个人都预先假定转换矩阵的理论?)

1 个答案:

答案 0 :(得分:2)

最后一列始终为[0;0;1],因为它是2D变换。在3D变换中,这将是z方向变换。

其他两列描述了xy方向转换,正如链接到的“正确文档”中所指定的那样!如上所述,这种关系认为

[x y 1] = [u v 1] * T

T的格式为

T = [a b c 
     d e f
     g h i];

所以,使用标准矩阵乘法,

x = g + a*u + d*v
y = h + b*u + e*v
1 = i + c*u + f*v = 1 + 0 + 0

这是转换的本质,xy是来自输入uv的新转换坐标。