我正在尝试运行OpenCV
教程1 - 使用this添加静态初始化OpenCV
我不想安装单独的OpenCV Manager应用程序,但我得到"OpenCV error: Cannot load info library for OpenCV."
我做了以下事情:
添加了一个包含armeabi
,armeabi-v7a
和x86
文件夹的libs文件夹(来自OpenCV-2.4.2-android-sdk / sdk / native / libs) /)
在私有Sample1View mView下面添加了静态{if (!OpenCVLoader.initDebug())}
代码;
删除了以下代码
if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2,this, mOpenCVCallBack))
似乎是什么问题?
答案 0 :(得分:11)
您应该添加代码:
mOpenCVCallBack.onManagerConnected(LoaderCallbackInterface.SUCCESS);
后:
if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))
如果删除:
if(!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack))
代码块然后没人打电话。
希望它可以帮到你。
答案 1 :(得分:4)
我遇到同样的问题,我通过在Activity类的第一个时添加以下代码解决了这个问题:
static {
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
}
}
我也添加了
mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
行前
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);
并对该行进行了评论
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback);
祝你好运。
答案 2 :(得分:1)
日志消息:
"OpenCV error: Cannot load info library for OpenCV."
不要担心你。至少在我的应用程序中它告诉我类似OpenCV libs init之后就可以了。
在示例代码中,调用BaseLoaderCallback时启用CameraBridgeViewBase对象。当opencv库的异步加载完成时会发生这种情况。 当您静态加载库时,尝试在onResume()方法中添加对mOpenCVCameraView.enableView()的调用(在加载库的库之后)。
答案 3 :(得分:0)
initAsync()需要一个回调来加载opencv libs和你的jni库。
检查回调函数并在if(!OpenCVLoader.initDebug())中正确,而不是在回调中!
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
Log.i(TAG, "OpenCV load not successfully");
} else {
System.loadLibrary("mixed_sample");
//System.loadLibrary("my_jni_lib2");
InitFeature(width,height);
mOpenCvCameraView.enableView();
}
适用于OCV4Android2.4.5中的教程2。