参考了网上的许多教程,决定还是完整记录一下我自己的操作
首先从OpenCV官网https://opencv.org/releases.html下载最新的opencv-XXX-android-sdk (XXX为版本号),我下载的版本为3.4.0。将其解压即可。
要是之前没转过ndk得先安装,安装方法如下图

111.png

image.png
选择EmptyActivity即可,到最后一步

image.png
要选择C++11,并把后面两项全都勾选了,finish即可完成新项目的生成。
在新项目生成后,我们要导入opencvandroidsdk的module,选择如下

image.png
之后将解压后的opencvandroidsdk里的java文件夹的绝对路径找到

image.png
然后Androidstudio就能找到module了

image.png
我之前已经导入过了,所以会有警告,新工程的话next就好了

image.png
最后一步

image.png
打开ProjectStructure
在app下选择Dependenies

image.png
然后点绿色的加号添加module dependency

image.png
选择前面导入的opencvlibrary340,添加好依赖后如下

image.png
至此项目的配置完毕了,一般在第一编译时会出现错误如下

image.png
我们需要切换目录到project找到app文件夹下的build.gradle文件与导入的opencvlibrary340文件夹下的build.gradle文件

image.png

image.png
比较这两个文件就能发现

image.png

image.png
报错的原因在版本号不同,我们只需要将opencvlibrary里的文件版本号修改成和app下的一致就好了

image.png
点击Try Again 错误解决了,顺利运行nice!
现在就可以愉快的调用opencv里的方法了
最后最后,我刚刚的这些操作在编译好apk后,还需要安装opencvandroidsdk里的opencv manager.apk的,该apk路径在里解压后的\opencv-3.4.0-android-sdk\OpenCV-android-sdk\apk里面
下次得花时间研究下不使用opencv mannager.apk直接编译到一个apk中里的方法
看了些教程好像挺麻烦的。。。