半全局块匹配

时间:2013-02-08 10:29:53

标签: opencv matching stereo-3d

我正在研究opencv的半全局块匹配。事实上,我不明白为什么我们需要浏览所有方向来计算成本聚合?有没有人试图限制这条路径的长度(扫描线)?

1 个答案:

答案 0 :(得分:4)

成本汇总涉及在多个方向上进行搜索,以对您的解决方案强制实施全局平滑约束。在没有这些约束的情况下,计算每个像素的视差而不考虑其邻居的估计差异,并且结果通常将包含大量“噪声”,因为匹配过程将返回许多误报。

通过假设观察到的表面非常平滑,您可以通过设置为像素分配深度的额外成本(例如,如果它与其邻居不一致)来惩罚视差偏移。松散地,这意味着当您尝试估计深度并具有多个可能的匹配时,您可能会选择与相邻像素的深度估计密切相关的匹配。在更多方向上搜索会增加您在成本计算中考虑的邻居数量,并且通常会增加

OpenCV没有提供减少此搜索路径长度的方法,但是如果您希望算法运行得更快,您可以禁用某些路线,只搜索5条路径而不是8条路径(这是通过设置来执行的)参数fullDP为false)或通过减少视差搜索范围。