两个矢量的三维变换矩阵



我在两个坐标系中有一对三维点,我需要找到坐标系之间的变换矩阵(旋转、缩放、平移)。

例如两点
p0=(x0,y0,z0)
p1=(x1,y1,z1)

对应于另一坐标系中的点:
q0=(x0',y0',z0')
q1=(x1',y1',z1')

我需要找到变换M(R|T),使得
q0=M*p0
q1=M*p1

如果有一种使用opencv或python的简单方法,那将是非常棒的。

我们可以用这种方式解释您的问题。你想找到一个矩阵M,这样

    for matrix P = [p1 p2] and Q = [q1 q2], Q = MP. 

然后我们可以求解M:

    M = Q.dot(numpy.linalg.pinv(P))

最新更新