3

Mat outMat = new Mat(); のみを使用すると、次の種類のエラーでクラッシュするだけの opencv 変数または関数を使用できないようです。Javaクラスでコーディングしているときのこのコード。

Exception Ljava/lang/UnsatisfiedLinkError; thrown during Lorg/opencv/core/Mat

05-19 11:27:58.403: E/AndroidRuntime(890): FATAL EXCEPTION: main
05-19 11:27:58.403: E/AndroidRuntime(890): java.lang.ExceptionInInitializerError
05-19 11:27:58.403: E/AndroidRuntime(890):  at com.android.ndkexample.FarhandkproActivity$1.onClick(FarhandkproActivity.java:60)
05-19 11:27:58.403: E/AndroidRuntime(890):  at android.view.View.performClick(View.java:2408)
05-19 11:27:58.403: E/AndroidRuntime(890):  at android.view.View$PerformClick.run(View.java:8816)
05-19 11:27:58.403: E/AndroidRuntime(890):  at android.os.Handler.handleCallback(Handler.java:587)
05-19 11:27:58.403: E/AndroidRuntime(890):  at android.os.Handler.dispatchMessage(Handler.java:92)
05-19 11:27:58.403: E/AndroidRuntime(890):  at android.os.Looper.loop(Looper.java:123)
05-19 11:27:58.403: E/AndroidRuntime(890):  at android.app.ActivityThread.main(ActivityThread.java:4627)
05-19 11:27:58.403: E/AndroidRuntime(890):  at java.lang.reflect.Method.invokeNative(Native Method)
05-19 11:27:58.403: E/AndroidRuntime(890):  at java.lang.reflect.Method.invoke(Method.java:521)
05-19 11:27:58.403: E/AndroidRuntime(890):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-19 11:27:58.403: E/AndroidRuntime(890):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-19 11:27:58.403: E/AndroidRuntime(890):  at dalvik.system.NativeStart.main(Native Method)
05-19 11:27:58.403: E/AndroidRuntime(890): Caused by: java.lang.UnsatisfiedLinkError: Library opencv_java not found
05-19 11:27:58.403: E/AndroidRuntime(890):  at java.lang.Runtime.loadLibrary(Runtime.java:461)
05-19 11:27:58.403: E/AndroidRuntime(890):  at java.lang.System.loadLibrary(System.java:557)
05-19 11:27:58.403: E/AndroidRuntime(890):  at org.opencv.core.Mat.<clinit>(Mat.java:2065)
05-19 11:27:58.403: E/AndroidRuntime(890):  ... 12 more

私はJava ndkを使用しています.ndk部分は正常にコンパイルされ、Javaでも結果が得られます。しかし、Java内でopencv関数または変数のいずれかを呼び出すと、同じ種類の上記のエラーが発生します。

私はopencv Javaライブラリを外部に追加しました。エラーなしで完璧にコンパイルされます...

プロジェクトのプロパティ-> Androidに移動してライブラリプロジェクトを使用する場合、フォルダーを参照するOpenCV 2.3ライブラリプロジェクトを追加する必要があります。それを行うと、正常に動作し、クラッシュしません。しかし、サイズが 14 MB ほどになり、読み込みに時間がかかりすぎます。その代わりに、外部ライブラリとして OpenCVAndroid jar ファイルを試しましたが、それを使用するとエラーが発生します。

2〜3時間費やしましたが解決できなかったので、親切に助けてください。ライブラリプロジェクトの追加により、大きなサイズには興味がありません。

4

0 に答える 0