Opencv4Android 不满意的链接器错误时刻

Opencv4Android Unsatisfied Linker Error Moments

当我尝试 运行 我的 android 应用程序时出现以下错误:

java.lang.UnsatisfiedLinkError:未找到 double[] org.opencv.imgproc.Imgproc.moments_1(long) 的实现(已尝试 Java_org_opencv_imgproc_Imgproc_moments_11 和 Java_org_opencv_imgproc_Imgproc_moments_11__J)

这是出现问题的代码:

  Imgproc.findContours(temp, contours, hierarchy, Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE);

    if(contours.size() > 0) {
        int numObjects = contours.size();

        if (numObjects < MAX_OBJECTS) {

            for (int i = 0; i < contours.size(); i++) {
                //moments causing unsatisfied linker error
                Moments moment = Imgproc.moments((Mat)contours.get(i));
                double area = moment.m00;
            }
        }
    }

谁能帮我解决这个问题?提前致谢!

这似乎是 OpenCV 3.0 和 3.1 的某些本机库的遗漏错误。在修复之前,建议的解决方法是使用 java 代码来计算力矩。参见 this thread