考虑以下输入数据:
CP
:相机内部参数(3x3)(more info)WP
:4x 3D世界坐标(即世界空间中的4个点)现在考虑以下变量:
CM1
:当前相机位置&旋转(4x4矩阵)SP1
:4x 2D屏幕坐标(即屏幕空间中的4个点)SP2
:再次4x 2D屏幕坐标(即屏幕空间中的4个点)约束SP1
来源于CM1
相机在CP
处使用相机参数WP
。为清楚起见,让我们将这种关系表达为以下(虽然这可能不是矩阵数学中的正确公式)。
SP1 = CM1 * CP * WP
我正在努力寻找新的相机位置&旋转CM2
,以便
SP2 = CM2 * CP * WP
我一直在尝试使用cvCalibrateCamera()
,但没有成功。我很高兴我终于找到了如何转换所有数据,以便该函数不再吐出错误。但是现在我认为在这种情况下函数可能不正确,因为我不知道如何应用输出数据。 (我觉得该功能用于根据输入数据计算摄像机内部参数,但文档对我来说并不清楚。如果您对我的谦虚尝试感兴趣:http://pastebin.com/WC8CKUhZ)
有没有办法实现我想用openCV计算的东西?我找不到任何符合我的要求的功能超过cvCalibrateCamera()
(从我可以输入的数据中猜出)。