首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Android上使用OpenCV中的WLSDisparityFilter和ximgproc?

如何在Android上使用OpenCV中的WLSDisparityFilter和ximgproc?
EN

Stack Overflow用户
提问于 2018-11-03 11:45:10
回答 1查看 699关注 0票数 1

官方的opencv android builds不包含opencv_contrib模块,而且自己构建它们也不是一件容易的事情。幸运的是,多亏了chaoyangnz,我们不必进行构建。

然而,对于这些构建,没有用于创建WLSDisparityFilter对象的JNI定义,因此,尽管底层的ximgproc库在那里,但您实际上不能为filtering stereo depth maps创建一个WLS。

如何在安卓系统上使用WLSDisparityFilter?

EN

回答 1

Stack Overflow用户

发布于 2018-11-03 11:45:10

值得庆幸的是,底层的库已经存在,因此您只需添加java接口即可使用它们。

打开:/src/main/java/org/opencv/ximgproc/DisparityWLSFilter.java文件。

添加以下方法:

代码语言:javascript
复制
    public DisparityWLSFilter createDisparityWLSFilter(StereoMatcher matcher_left) {
        DisparityWLSFilter filter = createDisparityWLSFilter_0(matcher_left);

        return filter;
    }

就这样!现在您可以创建和使用WLSDisparity筛选器。注意,您必须使用filter函数的完整版。在Kotlin中是这样的:

代码语言:javascript
复制
val disparityWLSFilter = createDisparityWLSFilter(stereoSGBM)
disparityWLSFilter.lambda = PrefHelper.getLambda()
disparityWLSFilter.sigmaColor = PrefHelper.getSigma()
disparityWLSFilter.filter(disparityMatLeft, leftMat, 
    disparityMatFiltered, disparityMatRight, Rect(0, 0, 
    disparityMatLeft.cols(), disparityMatLeft.rows()), rightMat)

我只是在使用opencv_contrib中的这个模块,尽管我认为其他缺少的ximgproc函数和其他contrib模块也可以以大致相同的方式启用。

希望这能帮助其他人将粗大的、像素y的视差图变成漂亮的深度图!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53128231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档