是否有Halide::BoundaryConditions来模拟OpenCV默认边界类型



文档中说这与GL_MIRRORED_REPEAT类似。我试着对此进行研究,但它似乎不像OpenCV边界类型那样具体。

  • BORDER_REFLECT_101作为gfedcb|abcdefgh|gfedcba,这是默认值
  • BORDER_REFLECT为fedcba|abcdefgh|hgfedcb

我想角并没有被严格定义,但我可以清楚地看到边是什么。GL_MIRRORED_REPEAT的文档似乎集中在拐角行为上。总的来说,这与我们的应用程序无关,因为感兴趣的目标有物理限制,使它们保持在视野范围内。然而,如果我在写回归测试,这些细节很重要。

如何在Halide中复制BORDER_REFLECT_101?Halide::BoundaryConditions有可能吗?还是我需要自己夹紧?在证明我们已经复制了行为并使用了Halide::BoundaryConditions::mirror_image之后,我可以放宽条件。

额外的好处:Halide::BoundaryConditions比使用clamp更有表现力吗?还是这只是语法糖?似乎恰恰相反;最好使用CCD_ 9?

红利:Halide::BoundaryConditions比使用clamp更具性能吗?还是这只是语法糖?似乎恰恰相反;最好用夹子?

边界条件只是一种方便。它们在这里实现。它们的性能不应该比自己写同样的东西差多少,因为它们只是元编程表达式(即它们不是编译器内部(。

最新更新