gpt4 book ai didi

Android Opencv静态初始化

转载 作者:太空宇宙 更新时间:2023-11-03 13:16:19 25 4
gpt4 key购买 nike

我在使用静态初始化的应用程序中使用 OpenCV for Android。初始化的代码是 -

static {
if(!OpenCVLoader.initDebug()) {
Log.d("My App", "Unable to load OpenCV");
} else {
Log.d("My App", "OpenCV loaded");
}
}

嗯,这很好用。但是在 OpenCV 文档中指定不推荐使用 initDebug() -

Note This method is deprecated for production code. It is designed for experimental and local development purposes only. If you want to publish your app use approach with async initialization.

现在,如果我使用异步初始化,它会使用应该安装在设备上的 OpenCV 管理器应用程序。这不是我想要的。

我的问题是——如果不推荐在 Release模式下使用 initDebug(),是否有其他方法可以加载不使用 OpenCV 管理器的 openCV?或者使用 initDebug() 加载 OpenCV 是否安全?

最佳答案

我的答案将来 self 使用该库的经验!

OpenCVLoader.initDebug() 迭代一些选项以在最后使用 System.loadLibrary("lib_name") 将库加载到内存中并尝试用一些日志!

来自 OpenCVLoader.initDebug() 方法 documentation

Loads and initializes OpenCV library from current application package. Roughly, it's an analog of System.loadLibrary("opencv_java").

所以最后,如果你打算使用静态加载的库,这在大多数情况下更方便,因为你不希望用户安装另一个应用程序来使用你的,你应该将库加载到内存中使用 System.loadLibrary("lib_name") 能够在您的 Java 代码中使用它们,如果您直接加载它或使用 initDebug 帮助器,这并不重要方法。

注意:库的新版本将版本附加到库名称的末尾,因此您应使用 System.loadLibrary("opencv_java3") 或您拥有的任何名称作为库的名称jniLibs 文件夹中的库!

关于Android Opencv静态初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com