【发布时间】:2014-09-07 03:59:34
【问题描述】:
我想验证我对基本矩阵的理解是否正确,以及是否可以在不使用任何对应点对的情况下计算 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了,对吧?
(我遇到的问题是,基本矩阵从定义上计算出来似乎是错误的。现在我只想知道我上面的理解是否正确。)
【问题讨论】:
-
如果你已经校准了你的相机并且有外在参数和内在参数,那么是的,你不需要点对应。当您不知道相机的参数(又名未校准)并希望仅从点对应关系中确定基本矩阵时,使用点对应关系。你是如何校准相机的?有代码可以给我们看吗?
-
@Booley 您好,我对您在上面提到的 F 矩阵公式中的偏斜矩阵有疑问。如果我的两台相机具有以下外部参数:{1,0,0,15 | 0,1,0,0 | 0, 0, 1, 0} 和 {1,0,0,25 | 0,1,0,0 | 0, 0, 1, 0} 它们之间的偏差是: ? {0, 0, 0 | 0, 0, -10 | 0, 10, 0} 也尝试计算基本矩阵,尝试使用 F 找到对应的 x' 点,如上所述。
标签: opencv matrix computer-vision matlab-cvst 3d-reconstruction