如何解决如何使用基本矩阵在 2 个相机坐标系之间正确恢复 R,t?
我有 2 个重叠的图像,我可以为其计算 F(基本矩阵)。 根据多视图几何(Zisserman,Hartley)教科书,为了恢复 2 个相机坐标系之间的 R,T,必须首先找到基本矩阵(E = K'.t()FK)使用 SVD 找到 R 和 t。我试图在下面的代码中这样做:
def testGetRTfromEssentialMatrix(pts1,pts2,K):
U,S,Vt = np.linalg.svd(E)
W = np.array([[0,-1,0],[1,[0,1]])
R = U * W.transpose() * Vt.transpose()
Z = np.array([[0,1,[-1,0]])
t_m = U * Z * U.transpose()
然而,我得到的结果很奇怪,与我从 cv.recoverPose(E,pts1,K) 得到的结果不同。我在这里做错了什么?理论上,先找到 F 然后找到 E,然后用 SVD 方法分解 E 应该可行,但我在这里缺少什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。