如何计算从立体图像到密集视差图?

时间:2009-05-08 17:15:50

标签: c++ image-processing stereoscopy disparity-mapping

如何计算从立体图像到密集视差图?

到目前为止,我的想法是遍历第一张图片中的所有像素,然后扫描第二张图片以查找匹配项。为了比较两个像素的相似性,我计算了围绕它们的小窗口中的像素的平方差。 该算法在合成图像上工作得相当好,但在包含反射的图像上失败,或者在光强度上有较大差异。我应该采用什么方法来获得更好的结果?

图像处理大师,请分享您的知识。

3 个答案:

答案 0 :(得分:4)

Otto-Chau立体匹配算法非常有效,它将自适应最小二乘补丁匹配与子像素精度以及在匹配图像上的区域增长相结合:

Otto,G.P.,Chau,T.K.W.,1989。'Region-growing'算法用于匹配地形图像。 Image Vision Computing,7(2),pp.83-94。

这是一种基于区域的方法,因此在一定程度上依赖于图像中合理的纹理量。如果你有非常稀疏的图像数据,基于特征的方法可能会更好,也许可以通过自适应LS匹配来提高精度。相关方法易于实现且速度快,但由于它们没有考虑图像之间的仿射变形,因此它们通常不像使用Newton-Raphson方案来最小化多个翘曲和辐射度参数可以从图像到图像非常合适。

答案 1 :(得分:1)

我发现这写了一个计算密集视差图的方法,如果你按照链接,你可以得到PDF详细描述他们的方法。不幸的是,我的图像处理经验不包括立体视觉,所以我不能评论所提算法的质量。

http://serdis.dis.ulpgc.es/~lalvarez/research/demos/StereoFlow/

我会查看我的文本,了解有关此主题的任何其他材料。

编辑: 我查看了我的书籍,Linda G. Shapiro和George C. Stockman的“计算机视觉”对摄像头和图像方向已知的立体视觉背后的数学进行了大约10页的解释,并指出了与相关的相关部分立体图像之间的共同特征,但在视差映射上没有任何特征。

答案 2 :(得分:1)

计算差异的一种流行且有效的方法涉及图形切割。基本上,从两个图像创建图形,然后以这样的方式切割图形,以最小化由图像中的深度不连续性导致的能量。康奈尔大学的Ramin Zabih有很多关于这个主题的论文:

http://www.cs.cornell.edu/~rdz/graphcuts.html

我建议“通过图形切割快速近似能量最小化”作为概述。