使用FeatureDetector OpenCv Android时出错

时间:2015-07-08 11:49:34

标签: android opencv opencv4android

Hy我想使用opencV android来处理图像;我需要使用sift,所以我写这段代码:

FeatureDetector featureDetector = FeatureDetector.create(FeatureDetector.FAST);

但是我有这个错误:

java.lang.UnsatisfiedLinkError: Native method not found: org.opencv.features2d.FeatureDetector.create_0:(I)J

我该如何解决?

1 个答案:

答案 0 :(得分:1)

如果在opencv库加载完成之前调用功能检测器,则会触发此错误。

FeatureDetector featureDetector = FeatureDetector.create(FeatureDetector.FAST);

加载器回调内部将确保仅在加载opencv后调用它。例如:

private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
    @Override
    public void onManagerConnected(int status) {
        switch (status) {
            case LoaderCallbackInterface.SUCCESS: //opencv is loaded!
            {
                Log.i(TAG, "OpenCV loaded successfully"); 
                mOpenCvCameraView.enableView();
                FeatureDetector featureDetector = FeatureDetector.create(FeatureDetector.FAST); //feature detector goes here!
            } break;
            default:
            {
                super.onManagerConnected(status);
            } break;
        }
    }
};