选择正确的旋转矩阵和平移矩阵

时间:2015-03-11 12:10:27

标签: c++ opencv rotation translation triangulation

我正在尝试使用opencv从SVD分解中选择正确的Rt矩阵。 根据 Hartley等人的,我必须用四种可能的组合[R|t]对这些点进行三角测量,我将看到哪个组合投射两个摄像头前面的点。但我的问题是我总能找到2种可能的组合。怎么可能? 我做了迭代三角测量。我从here获取了代码。 这是我的算法

  • p1 //在第1帧中指出
  • p2 //指向第2帧
  • [R|t]
  • 的posibles combinatios
  • R1t1
  • R1t2
  • R2t1
  • R2t2
  • for 0 to p1.size():
  • 取一点(p1 [i] = x1,p2 [i] = x2)
  • 三角测量(x1,x2,cam1,R1t1)
  • 三角测量(x1,x2,cam1,R1t2)
  • 三角测量(x1,x2,cam1,R2t1)
  • 三角测量(x1,x2,cam1,R2t2)

我总是得到2分,z <0和2分,z> 0。

我不知道如何在2 z> 0点之间做出选择。

由于

0 个答案:

没有答案