android opencv 免安装第三方软件(超简单版)
大家都知道Android 用opencv sdk图像开发的时候,必须要安装第三方软件openCv manage.apk。
当然网上也有不少免安装的教程 但是不太适合刚入门openvc开发的小白 比如说我哈哈。
这里分享一个小编找了几百个帖子才总结出来的一个办法,只需简单的几步即可实现免安装第三方软件。
第一步
先吧sdk集成到项目,把Opencv3.2.0\Opencv3.2.0\Android软件包\OpenCV-android-sdk\sdk\java 导入项目(那个opencv都可以 不单☞3.2.0其他版本都是一样的)如图先这样这样再那样就好啦
finish一下,把app下的gradle里把库添加了
dependencies { compile project(':OpenCVLibrary320') }
最后创建一个jniLibs把D:\mertial\OpenCV\OpenCV - 4.5.0\opencv-4.5.0-android-sdk\OpenCV-android-sdk\sdk\native\libs 的架构包复制过去。到这里就已经把opencv导入项目啦 但是这时候还是要安装opencvManage。
看其他大佬们分析源码发现 之所以要安装opencvManage 是因为缺少一个库 “libopencv_info.so”这个在老版本才有 而且老版本的opencv是没有64位的libopencv_info.so的 64-v8a的需要自己在老版本的opencv去生成 arm64-v8a的架构包,这里有编译好所有 libopencv_info.so 下载直接复制就可以用。
把libopencv_info.so 放入对应架构包后 用起来就可以了
在mainActivity里添加
if(!OpenCVLoader.initDebug()){
Log.d(TAG,"Internal OpenCV library not found. Using OpenCV manger for initialization");
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_2_0, this, mLoaderCallback);
}else{
Log.d(TAG,"OpenCV library found inside package. Using it!");
mTrackView.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}
然后就解决啦 再也不用安装第三方软件了 如果出现特殊情况 就在ctrl+鼠标左键进入这个方法 onManagerConnected(LoaderCallbackInterface.SUCCESS)在方法里加一个调用包的过程就好啦
try {
System.loadLibrary("opencv_info");
} catch (UnsatisfiedLinkError e) {
Log.d("UnsatisfiedLinkError", e.toString());
}