使用OpenCV来校正立体图像

时间:2011-03-28 17:59:05

标签: opencv stereo-3d

我打算制作一个程序,它将拍摄由单个相机拍摄的立体对图像,然后进行校正和裁剪,以便在使用平行或交叉眼图方法并排观看图像时,可获得最佳3D效果将会实现。左图像将是参考图像,右图像将被修改以进行校正。我相信OpenCV将是用于这些目的的最佳软件。到目前为止,我认为处理将发生如下:

  • 纠正图像之间的旋转。
  • 正确y轴移位。

这样做我会想到在右图像上方和下方产生不规则的黑色边框,所以:

  • 将两个图像裁剪到相同的高度以删除边框。
  • 计算立体声对应/差异
  • 计算最佳差异
  • 纠正图像以获得最佳视差

好的,这就是我对需要做什么以及它发生的顺序的看法,我要问的是,这看起来是否正确,有什么我错过的,有什么错误的顺序等等。我需要使用OpenCV的特定功能来完成这个项目的所有必要步骤吗?或OpenCV不是要走的路?非常感谢。

1 个答案:

答案 0 :(得分:1)

OpenCV非常适合这种情况。

有一整章:

enter image description here

本书中的所有示例代码都附带了opencv发行版

编辑:大致的步骤是:

  1. 重新映射每个图像以消除镜头扭曲并将视图旋转/平移到图像中心。

  2. 裁剪未出现在两个视图中的像素(可选)

  3. 在每个视图中查找匹配的对象(立体块匹配)创建视差图

  4. 将视差图重新投影到3D模型中