简单地说,我试图估计相机的姿势使用openCV库从中间带有aruco标记的表的图片中获取。20张照片以360/20度递增拍摄。据我所知,estimatePoseSingleMarker给了我相对于相机的标记的姿势。因此,我将aruco标记的姿势倒置为:R_cam = R_marker^T, tvec_cam = -R_marker^T*tvec_marker,其中^T表示转置操作。然而,当我比较估计的姿势和真实的姿势(直接从混合器中的相机参数中取出来)时,相机似乎被放置得更远,并且在z方向上的位置也比标记低。附图显示了这个.红点是真正的姿势,绿点是估计的。底部的正方形只是标记的角。。这可能是什么原因?也许是失去了规模信息?
发布于 2022-02-18 15:50:51
所以解决方案很简单,这是本质矩阵估计中的一个基本缺陷。从Blender渲染的图像没有一个完美的针孔相机,相反,我使用的相机有不同的fx和fy (焦距x和y)。简单地将这些修改为相同,就会得到近乎完美的估计。
https://stackoverflow.com/questions/71138965
复制相似问题