我想验证我对基本矩阵的理解是否正确,以及是否可以在不使用任何对应点对的情况下计算F.
基本矩阵计算为F = inv(transpose(Mr))*R*S*inv(Ml)
,其中Mr和M1是右和左内在相机矩阵,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,对吗?
(我遇到的问题是,根据定义计算基本矩阵似乎是错误的。目前,我只想知道上面的理解是否正确。)
答案 0 :(得分:0)
如果您有相对于公共坐标系的每个摄像机的旋转和平移,则可以计算摄像机之间的旋转和平移,然后使用您引用的公式计算基本矩阵。
更好的方法是将两个摄像机一起校准为单个立体声系统。计算机视觉系统工具箱的最新版本(2014a)可以帮助您实现这一目标。请参阅this example。
答案 1 :(得分:0)
我更喜欢像“多视图几何”第9章中的公式那样做。我在Matlab中验证了这些。没错。
如果你可以同时获得两个相机的内在和外在矩阵,你可以计算F矩阵,如:
F = [e'] _ x * P'* p ^ +
(详细定义请参阅“多视图几何”第224页)