我需要在我的应用程序中集成 OpenCV 2.4。首先,我发现它需要 OpenCV Manager 才能运行基于 OpenCV 的应用程序。但是,经过一番谷歌搜索,我发现了另一种使用静态初始化的方法here和here。我试过但它不起作用:
伪代码:
public class MainActivity extends Activity {
static {
if (!OpenCVLoader.initDebug()) {
Log.d(TAG,"init failed")
}
}
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS: {
Log.i(TAG, "OpenCV loaded successfully");
}
break;
default: {
super.onManagerConnected(status);
}
break;
}
}
};
@Override
public void onResume() {
super.onResume();
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_4, this,
mLoaderCallback);
}
}
我试过了,但这不起作用。它显示了安装 openCV Manager 的相同弹出窗口。
我还尝试initAsync()
在 onResume 和mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS)
;中删除 但是当我使用它时应用程序崩溃了。
谁能指导我正确的方式?请不要标记为重复;关于 SO 的问题有成百上千个没有答案。