【发布时间】:2016-02-01 00:21:46
【问题描述】:
我正在尝试按照此处概述的本教程使用 Opencv 设置 Android Studio:https://www.youtube.com/watch?v=OTw_GIQNbD8
我可以得到提供教程的人获得的结果,但是在尝试实际使用 Opencv 的一些功能时,我遇到了一些麻烦。
我能够加载 Opencv 库,但在尝试使用一些本机函数时,例如“Imgcodecs.imread”,我收到错误:“.lang.UnsatisfiedLinkError: No implementation found for long org.opencv.imgcodecs.Imgcodecs .imread_1(java.lang.String)"
我相信我已将问题归结为以下几点:
[![在此处输入图片描述][1]][1]
Android Studio 似乎无法检测到我猜应该从我现在在 app/src/main 中的 jniLibs 文件夹中获取的本机 C++ 代码?
我已经尝试将 Android Studio 更新到最新的稳定版本,并且我已经修复了我的 android SDK 和 NDK 的文件路径,因为有空格显然会影响本机代码的运行。问题依然存在。
过去 4 小时我一直在尝试解决此问题,我们将不胜感激!
【问题讨论】:
-
哪个 Java 文件在您的屏幕截图中显示错误?
-
@AlexCohn Imgcodecs.java in openCVLibrary300/src/main/java/org/opencv/imgcodecs
-
我会说 - 忽略这个错误,它只是 Android Studio 无法理解原生库。但我对 OpenCV 的 Java 包装器没有第一手经验。
-
@AlexCohn 不幸的是,我不能,因为当尝试使用 Imgcodecs.imread() 读取图像时,应用程序崩溃并显示我在原始问题中发布的错误消息。
-
那么,您可能没有将 OpenCV 本机库打包到您的 APK 中。指定
model { android.sources { main.jniLibs.source { srcDirs += "OpenCV_libs" } } }并将缺少的库放在那里。
标签: java android c++ opencv android-ndk