我在两个坐标系中有一对三维点,我需要找到坐标系之间的变换矩阵(旋转、缩放、平移)。
例如两点
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))