下载链接:https://opencv.org/releases/
samples文件夹里面是一些样例,sdk文件夹是我们需要的第三方包
此时将整个sdk文件夹导入到项目中也是可以的,但是900M的文件夹会让项目很庞大,所以我们要导入项目的是sdk包下的一个java包
点击Next,然后点击确认进行导包
将java代码作为模块导入之后,我们还得导入配置包,在sdk文件夹-->native文件夹-->libs文件夹里面的四个以os为后缀的文件
在OpenCV模块下创建libs目录,然后将四个文件复制进去。
这四个文件加起来有100M了,还是挺庞大的,这里我知道了自己手机需要的是哪一个文件夹,最后我只留下了第一个文件
我们要修改OpenCV包下的 build.gradle 文件夹,让里面的sdk版本与项目一致
将文件中的application改为 library,并且将applicationId删掉,因为我们要做的是引用这个包
然后在app目录的build.gradle文件的依赖中导入OpenCV,括号里面是冒号和刚才导入模块的命名
我们将libs文件加入到项目中,还得让编译器知道,所以要修改app的build.gradle文件(如果libs放在opencv包里就修改opencv包里的文件),才能运行OpenCV
查看是否成功,如果是使用Android普通项目肯定是不成功的,运行后会报错,因为少了一个运行OpenCV很重要的文件 libc++_shared.so
接下来我们通过C++项目(普通的Android项目没有)自动创建这个文件
这是一个全新的项目,需要导入OpenCV第三方包和修改build.gradle文件,也就是再做一遍上面的流程
c++项目的app目录下带有一个libs文件夹,所以将原来在opencv库下libs文件夹的内容复制到app目录下(libs包换位置后,记得修改app目录的build.gradle文件),文件结构如下
所以文件要加上这两段,使用C++项目在build完了之后就会创建 libc++_shared.so 这个文件(clean之后会删除)
按理说这样子我们的项目就可以运行了,也解决了没有 libc++_shared.so 这个文件的问题
如果你不想使用C++项目,在这个C++项目的文件里面已经创建了一个 libc++_shared.so文件,去把它复制到普通Android项目的opencv包的libs目录对应的文件夹就可以了
复制的时候要找准对应版本的libc++_shared.so文件
手机扫一扫
移动阅读更方便
你可能感兴趣的文章