web-dev-qa-db-ja.com

OpenCVでの静的初期化Android

OpenCVチュートリアル1を実行しようとしています this を使用して静的初期化でOpenCVを追加します
別のOpenCVManagerアプリケーションをインストールしたくない)が、_"OpenCV error: Cannot load info library for OpenCV."_を取得します

私は次のことをしました:

  1. armeabi、_armeabi-v7a_、および_x86_フォルダーを含むlibsフォルダーを追加しました(OpenCV-2.4.2-Android-sdk/sdk/native/libs /から)

  2. プライベートSample1ViewmViewのすぐ下に静的{if (!OpenCVLoader.initDebug())}コードを追加しました。

  3. 以下のコードを削除しました

if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2、this、mOpenCVCallBack))

問題であると想定されるのは?

21
Droidkie

コードを追加する必要があります。

mOpenCVCallBack.onManagerConnected(LoaderCallbackInterface.SUCCESS);

後:

if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack)) 

削除した場合:

if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))  

コードブロックすると、誰も呼び出しません。

それがあなたを助けることができることを願っています。

11
Qichao Chen

同じ問題があります。Activityクラスの最初に次のコードを追加することで問題を解決しました。

static {
    if (!OpenCVLoader.initDebug()) {
        // Handle initialization error
    }
}

また、私は追加しました

mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);

行の前

OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback); 

とコメントしました

OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);

幸運を。

4
user2874769

ログメッセージ:

"OpenCV error: Cannot load info library for OpenCV."

心配しないでください。少なくとも私のアプリでは、OpenCV libsinitのようなものは後でOKだと教えてくれます。

サンプルコードでは、BaseLoaderCallbackが呼び出されると、CameraBridgeViewBaseオブジェクトが有効になります。これは、opencvライブラリの非同期読み込みが終了したときに発生します。ライブラリを静的にロードするときは、onResume()メソッドでmOpenCVCameraView.enableView()への呼び出しを追加してみてください(コースのライブラリをロードした後)。

1
mockfrog

initAsync()には、opencvライブラリとjniライブラリをロードするためのコールバックが必要です。

コールバック関数をチェックして、コールバックではなくif(!OpenCVLoader.initDebug())で正しく作成してください。

            if (!OpenCVLoader.initDebug()) {
            // Handle initialization error
              Log.i(TAG, "OpenCV load not successfully");
        } else {
            System.loadLibrary("mixed_sample");
            //System.loadLibrary("my_jni_lib2");

            InitFeature(width,height);

            mOpenCvCameraView.enableView();
        }

oCV4Android2.4.5のチュートリアル2で機能します。

0
flankechen