周末一时兴起打算用opencv开发一个在安卓平板上的跑的图像处理程序,前期写代码都很顺利,编译成功后安装,一运行就弹出让安装opencv manager,安装后运行,竟然提示OpenCV was not initialised correctly. Application will be shut down,网上查了半天也没找到解决方案,然后尝试在模拟器上运行(安卓版本2.2),竟然没有问题呀。我的平板电脑的安卓版本是7.0,用的opencv版本是2.4.9,怀疑是下的opencv manager版本与安卓版本不兼容,就从opencv自带的开发工具包中找到了对应于2.4.9版本的opencv manager,在平板上安装后直接崩溃。这条路暂时走不通只好换一个思路,是不是可以不调用opencv manager,经过尝试是可以的,方法如下:
1.把OpenCV sdk for Android文件下F:\OpenCV-android-sdk\sdk\native下的libs文件夹拷贝到你的安卓项目下,即自己的项目\src\main下面,并且将libs改名为 jniLibs;
2、修改onResume方法,将其改为:标黄部分为新添加代码
@Override
protected void onResume() {
super.onResume();
if (!OpenCVLoader.initDebug()) {
Log.d(TAG, "Internal OpenCVlibrary not found. Using OpenCV Manager for initialization");
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this,mOpenCVCallBack);
} else {
Log.d(TAG, "OpenCV libraryfound inside package. Using it!");
mOpenCVCallBack.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}
}
}
3、重新编译安装运行就可以了。