静态初始化应用程序的开发
通过这个方法,所有的OpenCV二进制文件会导入到你的应用程序中。该方法的主要目的是用于开发,并不适合发布产品,发布的应用程序推荐使用OpenCV Manager。
1、和异步初始化的方法一样,将OpenCV库工程文件导入到你的工程目录。
File -> Import -> Existing project in your workspace
点击Browe按钮选择OpenCV SDK路径(OpenCV-2.4.9-android-sdk/sdk)。
2、在你的项目中引用OpenCV4Android SDK
Project -> Properties -> Android -> Library -> Add
选择 OpenCV Library - 2.4.9。
3、如果你的工程没有JNI部分,只需要从OpenCV-2.4.9-android-sdk/sdk/native/libs/<target_arch> 复制适当的OpenCV本地库到你的项目 libs/<target_arch>中。
如果工程中有JNI部分,你只需要修改你的Android.mk文件:将下面两行代码添加到”include $(CLEAR_VARS)与”include path_to_OpenCV-2.4.9-android-sdk/sdk/native/jni/OpenCV.mk”之间。
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
结果应该像这样:
include $(CLEAR_VARS)
# OpenCV
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
include ../../sdk/native/jni/OpenCV.mk
上述步骤完成后OpenCV库将通过JNI build.v被复制到你的工程库文件中
Eclipse会自动将所有库文件包含到你的应用包中。
4、最后一步是在Java代码调用OpenCV API之前初始化代码,方法如下:
static {
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
}
}
如果你还有其他本地库加载,方法如下:
static {
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
} else {
System.loadLibrary("my_jni_lib1");
System.loadLibrary("my_jni_lib2");
}
}