我正在开发一个使用OpenCV库的Android应用程序,需要先安装OpenCV Manager应用程序。我希望将OpenCV Manager集成到我的应用程序中,这样就不需要再外部安装OpenCV Manager了。
谢谢您的帮助。
谢谢您的帮助。
1-将OpenCV库项目添加到您的工作区(使用菜单文件->导入->现有项目到您的工作区)。
2-在应用程序项目中,在项目->属性->Android->库中添加对OpenCV Java SDK的引用,然后选择Add选择OpenCV Library - 2.4.8。
3-添加一个文件夹并将其命名为“jni”。
4-在jni文件夹中添加一个Android.mk文件。 它的主体应如下所示:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# OpenCV
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=STATIC
include ../../sdk/native/jni/OpenCV.mk
5 - 在jni文件夹中添加一个Application.mk文件。它的内容应该像下面这样:
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-9
6 - 在您的Activity中添加以下内容
static {
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
}
}
7 - 如果您已经将下面的代码添加到您的Activity中,请注释掉OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_8, this, mLoaderCallback)。您不再需要在resume事件中加载OpenCV。
@Override
public void onResume() {
super.onResume();
//OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_8, this, mLoaderCallback);
}
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
//OpenCV loaded successfully
break;
default:
super.onManagerConnected(status);
break;
}
}
};