java - opencv 3.1.0 absdiff 不起作用

标签 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);
        }
    }

Fatal signal 11 (SIGSEGV), code 1, fault addr 0x16 in tid 5110

尝试转移到 opencv 2.4.11 的先前版本,但它在初始化时存在问题。

java.lang.RuntimeException: Unable to resume activity ...: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=org.opencv.engine.BIND } at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2956) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2987) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2370)

但是回到 opencv 3.1.0 问题是核心函数 substract,add,absdiff 给出错误

Fatal signal 11 (SIGSEGV), code 1, fault addr 0x16 in tid 5110

有人遇到过这个问题吗?或者知道库或使用有问题吗?

在此先感谢您的帮助。

最佳答案

更新:OpenCV 3.2 不受影响。


看来是分布在Play Store上的OpenCV Manager版本的问题(更新于 2015 年 9 月 21 日)。

随 Android SDK 分发的版本工作得很好 (OpenCV-android-sdk/apk/OpenCV_3.1.0_Manager_3.10_{platform}.apk)。您可以从OpenCV website下载。 .

从 adb 安装 apk:

    adb install OpenCV-android-sdk/apk/OpenCV_3.1.0_Manager_3.10_{platform}.apk

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

关于java - opencv 3.1.0 absdiff 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35843940/

相关文章:

java - 如何使用 sslmode= require 通过 jdbc 连接到 Amazon RDS?

java - GreenDao 不创建外键?

android - 能够使用附近连接向多个设备同时发送消息/字节

python - 使用 FFMPEG 提取帧?

image - 图案图像处理

java - android shared element transition start transition有延迟

java - JTable 显示为空白

java - 从字符串创建变量名?

android - Google breakpad 构建错误

python - 从计算机屏幕识别图像