我正在开发一个使用opencv库的Android应用程序,这是一个opencv管理器应用程序。 它需要先安装opencv manager, 我想在我的应用程序中集成opencv管理器,这样就不需要在外部安装opencv管理器
先谢谢
答案 0 :(得分:4)
1 - 将OpenCV库项目添加到工作区(使用菜单文件 - >导入 - >工作区中的现有项目。)
2 - 在应用程序项目中,在Project中添加对OpenCV Java SDK的引用 - >属性 - > Android - >图书馆 - >添加选择OpenCV库 - 2.4.8。
3 - 添加文件夹并将其命名为“jni”
4 - 将Android.mk文件添加到jni文件夹中。它的身体应如下所示:
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 - 将Application.mk文件添加到jni文件夹中。它的身体应如下所示:
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-9
6 - 将此添加到您的活动
static {
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
}
}
7 - 如果您已将以下代码添加到您的活动中,请注释掉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;
}
}
};
答案 1 :(得分:0)
通过使用此lib从我的应用程序安装open Cv获得另一个解决方案 AutoInstaller