【问题标题】:What is "cliptab" in OpenCV's SGBM algorithm?OpenCV的SGBM算法中的“cliptab”是什么?
【发布时间】:2016-11-21 08:16:46
【问题描述】:

我目前正在尝试了解 OpenCV 的 SGBM 视差算法是如何工作的,我知道像素成本计算遵循 Birchfield 和 Tomasi 算法。 http://robotics.stanford.edu/~birch/publications/dissimilarity_pami1998.pdf

我似乎无法弄清楚什么是 clipTab[TAB_SIZE] 以及为什么它会以这种方式填充。

int ftzero = std::max(params.preFilterCap, 15) | 1;
PixType clipTab[TAB_SIZE];

for( k = 0; k < TAB_SIZE; k++ )
    clipTab[k] = (PixType)(std::min(std::max(k - TAB_OFS, -ftzero), ftzero) + ftzero);

完整的代码可以通过这个链接找到:

https://github.com/opencv/opencv/blob/master/modules/calib3d/src/stereosgbm.cpp

【问题讨论】:

    标签: c++ opencv disparity-mapping


    【解决方案1】:

    sobel过滤器后的clip operator的clip tab。

    它将在 calcPixelCostBT 期间使用。在我看来,如果您注意到“tab += tabOfs;”,选项卡的有用价值只是索引形式(TAB_OFS - ftzero)到(TAB_OFS + ftzero)。在 calcPixelCostBT 期间。该区域的tab值为[0, 2 * ftzero],可以从clip规则中得到。 the clip rule:

    【讨论】:

      猜你喜欢
      • 2019-11-19
      • 2015-06-16
      • 2012-05-12
      • 2018-05-31
      • 1970-01-01
      • 2012-07-15
      • 2015-08-27
      • 2014-06-24
      • 2012-08-07
      相关资源
      最近更新 更多