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 小时前
视频像素分割怎么选?HSV 阈值、传统掩膜、语义分割和实例分割的效果与代价
opencv·音视频
richard_yuu1 天前
OpenCV 实战第 2 篇:cv::Mat 内存模型,引用计数、ROI 与连续性
人工智能·opencv·计算机视觉
liangshanbo12152 天前
Webpack vs Vite 底层原理高频追问的问题
前端·webpack·node.js
执明wa2 天前
Android RecyclerView 实战:点击频道栏切换对应内容
android·开发语言·windows·microsoft·android studio
liangshanbo12152 天前
面试题:AI 对话上下文超限怎么办?
面试·webpack·devops
xailorliu3 天前
SLIC_超像素算法
c++·opencv·目标检测·机器学习·计算机视觉
liangshanbo12153 天前
Webpack 文件指纹面试题整理
前端·webpack·node.js
liangshanbo12153 天前
Webpack 常见 Plugin 面试题
前端·webpack·node.js
liangshanbo12153 天前
Webpack Tree Shaking 面试题整理
前端·webpack·node.js
陪我一起学编程3 天前
vue3笔记
前端·webpack·vue3·vite·脚手架·vue3笔记·组件式