私は、ネイティブCライブラリの関数を呼び出すJavaでAndroidアプリケーションを開発しています。ネイティブ関数は、Opencv Matタイプへのポインタを必要とするので、JavaアプリケーションでOpenCv Matタイプを作成してネイティブライブラリに渡す必要があります。Android JavaアプリケーションでOpenCV Matを使用します。 NoClassDefFound Error with OpenCV Mat
私はAndroid Studioを使用しています。私は 'opencv library' .jarファイルをプロジェクトのlibsフォルダに追加しました。だから、私は必要なOpencvモジュールをインポートし、Opencv Matタイプを作成したり、その関数にアクセスすることができます。私はOpenCVの.jarファイルは、ネイティブ機能単なるラッパーであり、アプリケーションは、「ネイティブライブラリ」を必要とすることを読んだ
java.lang.NoClassDefFoundError: org.opencv.core.Mat
:この問題は、実行時に、私は次のエラーを取得しています。これを見つける/追加するにはどうすればいいですか?アプリケーションが実行時にOpencv Matクラス定義を見つけることができるように、私のプロジェクトに追加する必要があるのは何ですか?私はOpenCV Matタイプだけを使いたいだけです。
私はOpenCV Androidのセットアップに関するチュートリアルを読んだことがありますが、これらはAndroidデバイスにOpenCV Manager Appをインストールする必要がありますが、これは私のアプリがどこにあるデバイスにアクセスできないので問題ですOpenCV Manager Appはこれらのデバイスにインストールされません。代わりに、自分のAndroid Studioプロジェクトに追加できる「.so」ライブラリがあります。このライブラリは、プロジェクトにバンドルされ、実行時に必要なMatクラスを見つけることができます。
ありがとうございます。
他にもいくつかのライブラリが必要な場合はもちろん、JavaCVのような他のopencvラッパーライブラリを使用することもできます。 –
ありがとう!私はオプション3はおそらく私が探しているものだと思います。どのネイティブライブラリをコピーするのか、リンクがどこに役立つのかは不明でした。 – CSharp