2013-11-20 50 views
3

http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html人臉檢測OpenCV4Android不起作用

我用這個教程正好在我的Eclipse和Android安裝OpenCV,一切都只是工作的罰款:

  • 不幸的是,OCV人臉檢測已經停止。
  • 不幸的是,OCV Native Activity已停止。
  • 不幸的是,OCV Mixed Processing已經停止。

我只需要臉部檢測一個,(至少現在)。

我做了一個通過對這個問題的研究這個問題已被問及ALOT並找不到一個完整的,工作的解決方案或任何體面的答案。如果有完整的答案,對整個社區都是有益的。以下是一些信息:

  • 我的項目屬性中沒有C/C++ Build選項卡,所以我認爲這不是必需的。
  • 我沒有打擾在模擬器上運行它。
  • OpenCV的經理是從谷歌Play下載
  • 的Java 1.6
  • 的Android 4.3,API 18
  • 設備型號爲Nexus 10的

這裏是logcat的:

11-20 16:44:15.389: I/OCVSample::Activity(27418): OpenCV loaded successfully 
11-20 16:44:15.389: D/AndroidRuntime(27418): Shutting down VM 
11-20 16:44:15.389: W/dalvikvm(27418): threadid=1: thread exiting with uncaught exception (group=0x415dc700) 
11-20 16:44:15.399: E/AndroidRuntime(27418): FATAL EXCEPTION: main 
11-20 16:44:15.399: E/AndroidRuntime(27418): java.lang.UnsatisfiedLinkError: Couldn't load detection_based_tracker from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/org.opencv.samples.facedetect-1.apk"],nativeLibraryDirectories=[/data/app-lib/org.opencv.samples.facedetect-1, /vendor/lib, /system/lib]]]: findLibrary returned null 
11-20 16:44:15.399: E/AndroidRuntime(27418): at java.lang.Runtime.loadLibrary(Runtime.java:355) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at java.lang.System.loadLibrary(System.java:525) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at org.opencv.samples.facedetect.FdActivity$1.onManagerConnected(FdActivity.java:66) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at org.opencv.android.AsyncServiceHelper$1.onServiceConnected(AsyncServiceHelper.java:318) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1106) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1123) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at android.os.Handler.handleCallback(Handler.java:730) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at android.os.Handler.dispatchMessage(Handler.java:92) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at android.os.Looper.loop(Looper.java:137) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at android.app.ActivityThread.main(ActivityThread.java:5103) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at java.lang.reflect.Method.invokeNative(Native Method) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at java.lang.reflect.Method.invoke(Method.java:525) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
11-20 16:44:15.399: E/AndroidRuntime(27418): at dalvik.system.NativeStart.main(Native Method) 
+2

檢查此問題:http://stackoverflow.com/questions/11913900/cannot-run-opencv-sample-facedetection-application?rq=1 – Mahm00d

+0

您需要先編譯JNI。 –

+1

@ Mahm00d我查過了。你自己檢查過嗎?沒用的。 –

回答

0

我在Android Studio上遇到同樣的問題,嘗試了所有其他答案,最後從O中拷貝libdetection_based_tracker.so文件 penCV-android-sdk/samples/face_detection/libs/armeabi-v7a 進入myProject/app/src/main/jniLibs/armeabi-7a,解決了我的問題。