我正在尝试根据从校准的立体相机图像中获取的立体对应关系来重建棋盘的位置。根据this answer,我经历了整个过程
我不明白一个步骤,那就是为什么要在OpenGL校准期间使用openCV的
cv2::stereoRectify()
或Matlab的rectifyStereoImages
校正立体图像,所以。或许更好:我应该如何获得投影矩阵-通过立体校正还是简单地P = K×[R|t]
从 /
stereoCalib
函数获得的 R , t 和 K 。据我了解,立体矫正对于制作深度图在某种程度上很重要,但是由于我只使用过三角剖分的3D估计,因此我不确定在这种情况下它是否有用。我有点困惑,因为我发现的每个立体声校准演示都包含此整流步骤。
欢迎使用更复杂的答案,因为我认为答案仅是通过提供的公式进行计算,但我想了解更多有关此纠正的内容。
最佳答案
如果您已经知道在两幅图像上相对应的点是正确的,则不需要进行立体校正。您可以仅对点进行三角剖分以获得3D坐标。
但是,如果您尝试从整个图像中估计深度图,则需要解决立体对应问题,即您将需要为一个图像中的每个点找到第二个图像中的对应点。
通过立体整流,可以确保对极线是水平的,并且相应的点只能在两个图像中位于同一水平像素行上。这意味着您的对应关系搜索空间从根本上减小了,因此问题变得很容易解决。
让我知道这是否回答了您的问题,或者您是否需要更多指向正确方向的指示!