我想估计移动相机的方向角。我有相机内在函数K,可以跟踪关键点以计算基本矩阵,E然后计算R相对于视频前一帧的旋转矩阵。
E, _ = cv2.findEssentialMat(kpn_cur, kpn_ref, focal=1, pp=(0., 0.), method=cv2.RANSAC, prob=kRansacProb, threshold=kRansacThresholdNormalized)
_, R, t, mask = cv2.recoverPose(E, kpn_cur, kpn_ref, focal=1, pp=(0., 0.))
Run Code Online (Sandbox Code Playgroud)
(使用已经归一化的关键点kpn_cur和kpn_ref,用相机内在函数计算K)
这使我能够获得帧相对于彼此的方向和位置,但我真正想要的是相机相对于每个帧的地平面的位置(和方向)。
我知道有一些方法可以使用消失点来计算相机方向(也可以通过从消失点计算旋转矩阵)。
从给定的旋转矩阵计算相对于地平面的方向的方法是什么?
谢谢!