【发布时间】:2012-03-13 13:26:18
【问题描述】:
我正在使用 Java openCV,我尝试加载照片并在其上运行模板匹配。 模板匹配方法处理 Mat 对象,所以我需要加载图像并将它们转换为 Mat。
我的做法是:
Bitmap i = BitmapFactory.decodeFile("/sdcard/TVguide/Detection/detected.jpg");
image = Utils.bitmapToMat(i);
这样,我从我的 android SD 卡加载照片,并尝试使用 openCV 方法 bitmapToMat 将其转换为 Mat 对象。 问题是在转换时,应用程序崩溃了。
这里是 LogCat:
03-14 15:15:57.636: W/dalvikvm(1059): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lorg/opencv/android/Utils;
03-14 15:15:57.636: D/AndroidRuntime(1059): Shutting down VM
03-14 15:15:57.636: W/dalvikvm(1059): threadid=1: thread exiting with uncaught exception (group=0x40015578)
03-14 15:15:57.640: E/AndroidRuntime(1059): FATAL EXCEPTION: main
03-14 15:15:57.640: E/AndroidRuntime(1059): java.lang.ExceptionInInitializerError
03-14 15:15:57.640: E/AndroidRuntime(1059): at com.marakana.Preview$3.onPictureTaken(Preview.java:191)
03-14 15:15:57.640: E/AndroidRuntime(1059): at android.hardware.Camera$EventHandler.handleMessage(Camera.java:565)
03-14 15:15:57.640: E/AndroidRuntime(1059): at android.os.Handler.dispatchMessage(Handler.java:99)
03-14 15:15:57.640: E/AndroidRuntime(1059): at android.os.Looper.loop(Looper.java:123)
03-14 15:15:57.640: E/AndroidRuntime(1059): at android.app.ActivityThread.main(ActivityThread.java:3687)
03-14 15:15:57.640: E/AndroidRuntime(1059): at java.lang.reflect.Method.invokeNative(Native Method)
03-14 15:15:57.640: E/AndroidRuntime(1059): at java.lang.reflect.Method.invoke(Method.java:507)
03-14 15:15:57.640: E/AndroidRuntime(1059): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
03-14 15:15:57.640: E/AndroidRuntime(1059): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
03-14 15:15:57.640: E/AndroidRuntime(1059): at dalvik.system.NativeStart.main(Native Method)
03-14 15:15:57.640: E/AndroidRuntime(1059): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load opencv_java: findLibrary returned null
03-14 15:15:57.640: E/AndroidRuntime(1059): at java.lang.Runtime.loadLibrary(Runtime.java:429)
03-14 15:15:57.640: E/AndroidRuntime(1059): at java.lang.System.loadLibrary(System.java:554)
03-14 15:15:57.640: E/AndroidRuntime(1059): at org.opencv.android.Utils.<clinit>(Utils.java:86)
03-14 15:15:57.640: E/AndroidRuntime(1059): ... 10 more
03-14 15:16:03.472: I/Process(1059): Sending signal. PID: 1059 SIG: 9
我不明白是我做错了什么还是它只是一个错误的 openCV。
谢谢 埃亚尔
【问题讨论】:
标签: java android opencv bitmap