使用 FeatureDetector OpenCv 时出错 Android
Error in using FeatureDetector OpenCv Android
我想用 opencV android 来处理图像;我需要使用筛子,所以我写了这段代码:
FeatureDetector featureDetector = FeatureDetector.create(FeatureDetector.FAST);
但是我遇到了这个错误:
java.lang.UnsatisfiedLinkError: Native method not found: org.opencv.features2d.FeatureDetector.create_0:(I)J
我该如何解决?
如果您在 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;
}
}
};
我想用 opencV android 来处理图像;我需要使用筛子,所以我写了这段代码:
FeatureDetector featureDetector = FeatureDetector.create(FeatureDetector.FAST);
但是我遇到了这个错误:
java.lang.UnsatisfiedLinkError: Native method not found: org.opencv.features2d.FeatureDetector.create_0:(I)J
我该如何解决?
如果您在 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;
}
}
};