Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 标定校正后摄像机投影矩阵到三角网格的方法_Opencv_3d Reconstruction - Fatal编程技术网

Opencv 标定校正后摄像机投影矩阵到三角网格的方法

Opencv 标定校正后摄像机投影矩阵到三角网格的方法,opencv,3d-reconstruction,Opencv,3d Reconstruction,我能想出如何在没有背诵的情况下为一组立体相机生成相机矩阵。我所做的是两次调用CalibleCamera,这给了我C1,R1和T1,C2,R2和T2,对于每个摄像头 我将其结合起来,使投影矩阵P1=C1*[R1 | T1],P2=C2*[R2 | C2]。这是一个3x4矩阵 然后,我有一个自己的对应算法,生成一个对应,然后我给每个对应提供三角形,得到一组3D点 现在,在运行对应算法之前,我需要使用立体校正。在进行立体校正之后,我一直在想如何得到投影矩阵。我们似乎得到了两个旋转矩阵(称为R*)和一个

我能想出如何在没有背诵的情况下为一组立体相机生成相机矩阵。我所做的是两次调用CalibleCamera,这给了我C1,R1和T1,C2,R2和T2,对于每个摄像头

我将其结合起来,使投影矩阵P1=C1*[R1 | T1],P2=C2*[R2 | C2]。这是一个3x4矩阵

然后,我有一个自己的对应算法,生成一个对应,然后我给每个对应提供三角形,得到一组3D点

现在,在运行对应算法之前,我需要使用立体校正。在进行立体校正之后,我一直在想如何得到投影矩阵。我们似乎得到了两个旋转矩阵(称为R*)和一个新的投影矩阵(P*)。我现在如何组合这些元素,以得到一个新的投影矩阵(3x4矩阵)来输入三角剖分图

该示例似乎只说明了如何使用这些矩阵并运行initUndercorrectifyMap和remap,以便图像对齐。它也给了我一个视差图,但我不认为我应该用它作为我做这件事的唯一目的是测试一个对应算法,这将产生一个好的视差图


编辑:我假设摄像机中没有失真,这在本例中基本上是正确的。

这里的答案有些明显,尽管当时不是这样。我要找的投影矩阵是P1和P2。这可以直接用于处理三角网格

我的困惑是因为看如何用失真参数构造投影矩阵。事实上,这是不必要的,因为整个重映射过程不会使图像失真,因此我们可以直接使用P1和P2作为投影。希望这对别人有帮助