【问题标题】:How do I load the OpenCV Manager package in my Android app?如何在我的 Android 应用程序中加载 OpenCV 管理器包?
【发布时间】:2019-07-02 14:34:01
【问题描述】:

我正在开发在 Android Studio 中使用 OpenCV 的 Android 应用程序。我的应用程序编译并执行,但是在启动加载 OpenCV 的活动时,我收到此警报,说

“OpenCV 管理器包未找到。尝试安装它吗?”

我点击是,Google Play Store 应用程序打开,但找不到 OpenCV 管理器。似乎该应用在 Google Play 中不再可用。但是,我更愿意将 OpenCV 库与我的应用程序捆绑在一起。 任何帮助表示赞赏。谢谢。

这是我的设置: settings.gradle:

include 'Application', ':libhrdataglasses', ':opencv401'

应用程序的build.gradle:

apply plugin: 'com.android.application'
buildscript {
    repositories {
        jcenter()
        google()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
    }
}


repositories {
    jcenter()
    google()
}

dependencies {
    implementation 'com.android.support:support-v4:27.0.2'
    implementation 'com.android.support:support-v13:27.0.2'
    implementation 'com.android.support:cardview-v7:27.0.2'
    implementation 'com.android.support:appcompat-v7:27.0.2'
    implementation project(':libhrdataglasses')
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    implementation project(':opencv401')
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
}

// The sample build uses multiple directories to
// keep boilerplate and common code separate from
// the main sample code.
List<String> dirs = [
        'main',     // main sample code; look here for the interesting stuff.
        'common',   // components that are reused by multiple samples
        'template'] // boilerplate code that is generated by the sample template process

android {
    compileSdkVersion 27

    buildToolsVersion '28.0.3'

    defaultConfig {
        minSdkVersion 26
        targetSdkVersion 27
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

    sourceSets {
        main {
            dirs.each { dir ->
                java.srcDirs "src/${dir}/java"
                res.srcDirs "src/${dir}/res"
            }
        }
        androidTest.setRoot('tests')
        androidTest.java.srcDirs = ['tests/src']

    }

}

opencv401 的 build.gradle

    apply plugin: 'com.android.library'

android {
    compileSdkVersion 26
    //buildToolsVersion "x.y.z" // not needed since com.android.tools.build:gradle:3.0.0

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 26
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    }

    sourceSets {
        main {
            jniLibs.srcDirs = ['../../jni']
            java.srcDirs = ['src']  // TODO Use original files instead of copied into build directory
            aidl.srcDirs = ['src']
            res.srcDirs = ['../opencv401/res']
            manifest.srcFile 'AndroidManifest.xml'
        }
    }
}

dependencies {
implementation 'com.android.support:appcompat-v7:26.1.0'
}

在我的活动中:

        @Override
    protected void onResume() {
        super.onResume();
        if (!OpenCVLoader.initDebug()) {
            OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION, this, mOpenCVLoaderCallback);
    } else {

    mOpenCVLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
        }
    }

    private BaseLoaderCallback mOpenCVLoaderCallback = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            switch (status) {
                case LoaderCallbackInterface.SUCCESS: {
                    Log.i(TAG, "OpenCV loaded successfully");
                    mProcessButton.setVisibility(View.VISIBLE);
                } break;
                default: {
                    super.onManagerConnected(status);
                } break;
            }
        }
    };

【问题讨论】:

    标签: android opencv opencv4android


    【解决方案1】:
    1. Include opencv library in your app by downloading opencv sdk and adding this as dependency in your app. 
        https://docs.opencv.org/2.4/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#application-development-with-static-initialization
    
    
    2. If you want to use opencv manager then do adb install by getting from this link.
    
    https://docs.opencv.org/2.4/platforms/android/service/doc/UseCases.html#how-to-select-the-proper-version-of-opencv-manager
    
    3. Check the sample code 
    
    https://github.com/opencv/opencv/tree/master/samples/android
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多