我正在開發一個使用opencv庫的opencv管理器應用程序的android應用程序。 它需要OpenCV的經理以前安裝, 我想OpenCV的經理整合我的應用程序中,這樣它不需要安裝OpenCV的經理提前外部如何在Android應用程序中集成opencv管理器
感謝
我正在開發一個使用opencv庫的opencv管理器應用程序的android應用程序。 它需要OpenCV的經理以前安裝, 我想OpenCV的經理整合我的應用程序中,這樣它不需要安裝OpenCV的經理提前外部如何在Android應用程序中集成opencv管理器
感謝
1 - 添加OpenCV庫項目到您的工作區(使用菜單文件 - >導入 - >工作區中的現有項目。)
2 - 在應用程序項目中添加對項目 - >屬性 - > Android - >庫 - > OpenCV Java SDK的引用。添加選擇的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); 您不需要在恢復事件中加載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;
}
}
};
謝謝,我沒有機會嘗試你的建議。但我'如果你的解決方案看起來很合理,你會爲你的解決方案投票。 –
OpenCVLoader.initDebug()仍然爲我返回false。 –
得到通過使用該LIB從我的應用程序安裝開了Cv另一種解決方案 AutoInstaller
的
可能重複[如何OpenCV的經理在Android中整合應用程序](http://stackoverflow.com/questions/20259309/how-to-integrate-opencv-manager-in-android-app) – Kiran