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
我该如何解决?
答案 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;
}
}
};