我能够弄清楚如何为一组立体相机生成相机矩阵而不需要重新定位。我所做的是两次调用calibrateCamera,这为每个摄像机提供了C1,R1和T1以及C2,R2和T2。
我将其组合以使投影矩阵P1 = C1 * [R1 | T1],并且P2 = C2 * [R2 | C2]。这是一个3x4矩阵
然后我有一个我自己的对应算法产生一个对应关系,然后我给它们每个triangulatePts提供一组3D点。
现在,我需要在运行对应算法之前使用立体声校正。在进行立体声校正后,我对如何获得投影矩阵感到困惑。我们似乎得到两个旋转矩阵(让它们被称为R *)和一个新的投影矩阵(P *)。我现在如何组合这些以获得一个新的投影矩阵(3x4矩阵)以输入三角形图片?
该示例似乎只解决了如何使用这些矩阵并运行initUndistorRectifyMap并重新映射,以便图像对齐。它也给了我一个视差图,但我不认为我应该使用它,因为我这样做的唯一目的是测试一个对应算法,这将产生一个良好的视差图。
编辑:我认为相机中没有失真,在这种情况下大多数情况都是如此。
答案 0 :(得分:0)
这里的答案有点明显,尽管当时并非如此。我正在寻找的投影矩阵是P1和P2。这可以直接用于处理triangulatePts。
我的困惑是由于研究如何构造具有失真参数的投影矩阵。实际上,这不是必需的,因为整个重映射过程不会对图像产生影响,因此我们可以直接使用P1和P2作为投影。希望这有助于某人。