有谁知道如何让 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
关于java - opencv 3.1.0 absdiff 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35843940/