6

我想验证我对基本矩阵的理解是否正确,以及是否可以在不使用任何对应点对的情况下计算 F。

基本矩阵计算为F = inv(transpose(Mr))*R*S*inv(Ml)其中 Mr 和 Ml 是左右固有相机矩阵,R 是将右坐标系带到左侧的旋转矩阵,S 是倾斜对称矩阵

S = 0    -T[3]   T[2]  where T is the translation vector of the right coordinate system 
    T[3]     0  -T[1]  from the left.
   -T[2]  T[1]      0

我知道可以使用 8 点算法计算基本矩阵,但我没有任何点对应关系。但是,我的两个相机都经过校准,所以我有所有内在和外在参数。从上面基本矩阵的定义来看,只用这些参数就可以计算出F,对吧?

(我遇到的问题是,根据定义计算基本矩阵似乎是错误的。目前,我只想知道我的上述理解是否正确。)

4

2 回答 2

0

如果您有每个摄像机相对于公共坐标系的旋转和平移,那么您可以计算摄像机之间的旋转和平移,然后使用您引用的公式来计算基本矩阵。

更好的方法是将两个摄像机一起校准为一个立体系统。计算机视觉系统工具箱的最新版本 (2014a) 可让您做到这一点。请参阅此示例

于 2014-07-16T21:39:51.720 回答
0

我更愿意像“多视图几何”第 9 章中的方程式那样做。我已经在 Matlab 中验证了这些。这是正确的。

如果您可以获得两个相机的内在和外在矩阵,您可以计算 F 矩阵,如:

F = [e']_x * P' *p^+

(详细定义请参考“Multiple View Geometry”的pp244)

于 2017-04-29T23:39:03.473 回答