我已经获得了两台相机之间的基本矩阵。我也将其内部参数放在3 X 3
矩阵中,这是我之前通过国际象棋棋盘获得的。使用基本矩阵,我获得了P1
和P2
P1 = [I | 0]
和P2 = [ [e']x * F | e']
这些投影矩阵在获取精确的3D位置方面并不真正有用。
由于我有内部参数K1
和K2
,我将P1
和P2
更改为
P1 = K1 * [I | 0]
和P2 = K2 * [ [e']x * F | e']
答案 0 :(得分:7)
一本好的参考书是"计算机视觉中的多视图几何"来自哈特利和齐瑟曼。 首先,你的P公式是错误的。如果你想要K里面的公式,那就相当
P = K * [R | t]
或
P = [ [e']x * F | e']
但不是两者的混合。
如果你从8点算法计算出F,那么你只能恢复投影几何直到3D单应性(即4x4变换)。
要升级到欧几里德空间,有两种可能性,都是从计算基本矩阵开始。
第一种可能性是从F计算基本矩阵:E =转置(K2)* F * K1。
第二种可能性是直接估计这两种观点的基本矩阵:
一旦你有了必要的矩阵,我们就可以用
的形式计算投影矩阵P = K * [R | t]
由于E的SVD元素,可以找到R和t(参见前面提到的书)。 但是,您将有4种可能性。其中只有一个项目指向两个摄像头前面,所以你应该测试一个点(如果你确定的话)去除4中的模糊性。 在这种情况下,您将能够将相机及其方向(使用投影的R和t)放置在3D场景中。
不是那么明显,确实......