java openCV解决Android集成中的问题
我需要在我的应用程序中集成OpenCV 2.4。首先,我发现运行基于OpenCV的应用程序需要OpenCV管理器。但是,在谷歌搜索之后,我找到了另一种使用静态初始化here和here的方法。我试过了,但没用:
psudo代码:
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管理器的相同弹出窗口
我还试图删除onResume中的initAsync()
和mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS)
;但当我使用这个时,应用程序崩溃了
谁能给我指路吗?请不要标记为重复;有成千上万的问题没有答案
# 1 楼答案
我自己解决了。您不需要在JNI库之后编写扩展
我写这篇文章的方式不正确:
毕竟,我找到了正确的方法:
如前所述,不需要写
.so
扩展名# 2 楼答案
如果您使用的是Android Studio,请检查以下内容:https://github.com/floatlearning/android-opencv-template 然后,在Android设备上安装一个属性OpenCV管理器