我在齐次坐标x1(x1; y1; z1)中有5个点的矩阵.x4(x4; y4; z4)。我知道在对此矩阵应用仿射变换后,x1移动到x1_prime,x2 - 到x2_prime。我怎样才能找到转换矩阵?
我试过
X = [x1 x2];
X_prime = [x1_prime x2_prime];
T = X_prime/X;
但这不起作用。在我的4分上应用T后,我得到1分段。
我在Matlab中尝试过fitgeotrans(),但我想我使用它不正确。 你能帮我在Matlab中找到仿射变换矩阵吗?
由于
答案 0 :(得分:0)
您尝试解决的矩阵是3x3矩阵。但是,您已将数据打包成1x15矩阵,而不是3x5矩阵,这样您就可以轻松地进行反向解析。 试试这个:
X = [x1;x2;x3;x4;x5];
X_prime = [x1_prime;x2_prime;...];
T = X_prime/X;
答案 1 :(得分:0)
有2分,就不可能找到仿射变换矩阵
[a b c;
d e f;
g h i].
我们需要3分。只有这样,对于每行矩阵,我们将有3个未知数和3个方程。 我们可以找到2分
[a b;
d e]
矩阵的一部分,然后加0 0 1' s我们将获得仿射变换
[a b 0;
d e 0;
0 0 1]