Android Studio开发之路 (五)导入OpenCV以及报错解决

一、步骤

  1. 官网下载opencv包(我下的是4.7.0)并解压,openvc官网

  2. 先创建一个空项目,简单跑一下能正常输出helloworld

  3. 点击file->new->Import Module选择解压之后的opencv-android-sdk文件夹中的SDk文件夹,


module name这个地方可以改成你想要的的名字,我是改成了opencv

4.加载完成之后看下图,需要修改加载进来的openCV文件夹下面的build.gradle中的一些内容,首先将"kotlin-android"那一句删掉,然后将标号为2,3,4的几个值修改的和主程序中的buidl.gradle中的值一样,然后"try again"更新修改内功

  1. 如下图,点击file->project structure ->Dependencies->app->3 Module Dependency, 然后给opencv打上对勾,应用即可


到这里基本上就完成了,可以加载一下opencv做一个简单的测试,代码如下图:

二、过程中报错以及修改

步骤虽然简单,但过程也不会一番风顺,我在过程中主要遇到了三个问题:① namespace命名空间报错;②org.opencv报错 ③can't resolve symbol OpenCVEngineInterface

  1. 命名空间报错

这里一个简单的解决办法是:将:app的build.gradle中的namespace 语句复制到opencv的build.gradle中。如下图

第二种解决办法请往下看第三个报错解决

  1. org.opencv报错
    把opencv的AndroidManifast.xml中的org.opencv那一句删掉就好了

3.can't resolve symbol OpenCVEngineInterface

这个真的折磨了我很久,按别的博主说的org.opencv.engine路径配置不对啥的,完全不解决问题。

解决办法是:file->project structure->project,将这两个值修改成7.1.2和7.3重新运行皆可以了。namespace那个报错也可以这么解决

不过需要注意的是,我是重新建了一个项目,修改了这两个参数之后再重新引入opencv才成功的,在上面报错的时候直接修改是不行的。

三、参考资料
OpenCV在Android的使用教程

OpenCV库的安装

Android使用OpenCV处理图像

相关推荐
晨间晓1 天前
图片里的高频和低频是什么?用华为云码道开发 OpenCV 傅里叶频谱分析工具
opencv·计算机视觉·华为云
晨间晓1 天前
图片里的阴影能不能减弱?用华为云码道开发 OpenCV 光照校正工具
人工智能·opencv·华为云
定栓2 天前
Webpack迁到Vite第七节(二):全家桶移除 — Babel 全家桶深度分析
前端·webpack·node.js
晨间晓2 天前
图片里的细小噪点怎么平滑?用华为云码道开发 OpenCV 图像滤波对比工具
人工智能·opencv·华为云
定栓2 天前
Webpack迁到Vite第七节(一):全家桶移除 — 配置文件与构建核心
前端·webpack·node.js
偷吃米饭2 天前
图片特征怎么描述?用华为云码道开发 OpenCV ORB 特征提取工具
人工智能·opencv·华为云
定栓2 天前
Webpack迁到Vite第八节:错误排查实录
前端·webpack·devops
晨间晓2 天前
图片里的关键点怎么找?用华为云码道开发 OpenCV FAST 特征点检测工具
人工智能·opencv·华为云
晨间晓2 天前
二值图里的噪点怎么去掉?用华为云码道开发 OpenCV 形态学操作工具
人工智能·opencv·华为云