opencv 3.1.0 absdiff不起作用

And*_*y P 1 java android opencv

有谁知道如何让absdiff在opencv中工作.以下代码给出错误:

@Override
    public void onManagerConnected(int status) {
        if (status == LoaderCallbackInterface.SUCCESS ) {
            // now we can call opencv code !
            //helloworld();

            Log.i(TAG, "OpenCV is ready");
            Mat m1 = Mat.zeros(100,100, CvType.CV_8UC1);
            Mat m2 = Mat.zeros(100,100, CvType.CV_8UC1);
            Mat m3 = Mat.zeros(100,100, CvType.CV_8UC1);
            Core.absdiff(m1,m2,m3);

        } else {
            super.onManagerConnected(status);
        }
    }
Run Code Online (Sandbox Code Playgroud)

致命信号11(SIGSEGV),代码1,故障地址0x16在tid 5110中

试图转移到opencv 2.4.11的previos版本,但它在初始化时遇到问题.

java.lang.RuntimeException:无法恢复活动...:java.lang.IllegalArgumentException:Service Intent必须是显式的:android.app.ActivityThread.performResumeActivity(ActivityThread.java)中的Intent {act = org.opencv.engine.BIND} :2956)在Android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2370)的android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2987)

但回到opencv 3.1.0的问题是核心函数减法,添加,absdiff给出错误

致命信号11(SIGSEGV),代码1,故障地址0x16在tid 5110中

有人遇到过这个问题吗?或者有一个想法是图书馆或用法有问题吗?

提前感谢您的帮助.

Dav*_*uel 7

更新: OpenCV 3.2不受影响.


这似乎是在Play商店上发布的OpenCV Manager版本的问题(更新时间为21/09/15).

随Android SDK一起发布的版本工作得很好(OpenCV-android-sdk/apk/OpenCV_3.1.0_Manager_3.10_{platform}.apk).您可以从OpenCV网站下载它.

要从adb安装apk:

    adb install OpenCV-android-sdk/apk/OpenCV_3.1.0_Manager_3.10_{platform}.apk
Run Code Online (Sandbox Code Playgroud)

相关问题:#5722,#6247#6488.