【发布时间】:2016-03-21 10:06:46
【问题描述】:
我在台式计算机上使用 C++ 开发了一个 OpenCV 应用程序,一切正常。
然后我将 C++ 代码包含在使用 android NDK 的 android 应用程序中。它构建并运行,但是,结果与我桌面上的不同。
经过调试,我发现下面这行有所不同:
cv::medianBlur(img, filteredImage, 9);
事实上,在我的安卓设备上,medianBlur 似乎坏了。考虑下图:
转化为
我使用的是运行 Android 5.0 的三星 Galaxy Note 3 设备。 OpenCV 版本是 3.0.0。
您知道为什么会发生这种情况吗?
【问题讨论】:
-
我之前用过 mediumblur 和 NDK,一切都很好。你确定你的代码中有未定义的行为吗?例如,您试图通过某些预处理方法的引用返回 Mat?
-
我认为这不是问题,因为如果我使用例如双边滤波器而不是 medianBlur 一切都按预期工作。您使用的是哪个版本的 OpenCV 和哪个设备?
标签: android opencv android-ndk opencv3.0 opencv4android