OpenCV 3.0 for Android - 静态初始化不加载新模块



我最近将我的Android项目从OpenCV 2.4.10迁移到OpenCV 3.0

我使用以下代码静态初始化 OpenCV:

OpenCVLoader.initDebug();

当我运行我的应用程序时,我收到以下异常:

java.lang.UnsatisfiedLinkError: Native method not found: org.opencv.imgcodecs.Imgcodecs.imread_1:(Ljava/lang/String;)J

Imgcodecs是OpenCV 3.0中的一个新模块,如果我是对的,它取代了OpenCV 2.4.*中的Highgui。

初始化时,我可以在 OpenCV 的日志中看到以下输出:

Version control:               2.4.10
...
To be built:                 core androidcamera flann imgproc highgui features2d calib3d ml objdetect video contrib photo java legacy ocl stitching superres ts videostab

从上面的信息中,我猜OpenCV 3.0的OpenCVLoader只初始化2.4.10的旧模块。您可以看到它加载了不再需要的 highgui 模块。

这是新OpenCV的错误还是我错过了什么?是否有一些解决方法如何加载新模块?谢谢。

似乎现在使用 23.6.2015 的更新版本工作。

该错误似乎已通过此提交修复,因此答案是该问题可能是由OpenCV错误引起的。

我建议创建一个新项目,添加opencv静态版本,导入build.gradle并将版本从2.4.*更改为3.0.*我做了同样的事情,我以前的版本是 2.4.9,迁移后是 3.0.0

To be Built: hal core flann imgproc ml photo video ***imgcodecs*** shape videoio ..

由于这在您的项目中很明显,因此您仍在使用 2.4 版。

相关内容

  • 没有找到相关文章

最新更新