网上看了很多流程都不能正常导入OpenCV,有一堆报错,而且还有限制,我记一下我的处理方式
首先这个博客主要解决以下问题
1、不需要项目选择native C++,使用最新的OpenCV库
2、不用复制文件,不需要手动改动项目自身的build.gradle,大部分由AS完成
3、解决遇到的namespace问题、找不到Enginne的问题、找不到buildConfig的问题、运行时找不到库的问题
流程如下:
一、下载opencv4.8,正常的创建一个项目
导入Opencv4.8
把opencv的文件解压,导入选择OpenCV-android-sdk/sdk
命名module name
点finish后,出现导入报错,并且显示opencv的build.gradle
删除Kotlin这一行
增加namespace "org.opencv"
修改目标版本与你的项目一致
修改后重试
opencv的build.gradle导入完成
但是点编译会报错,看报错是找不到OpencvEngineInterface和BuildConifg
上面的原因是默认编译的时候没带aidl和buildConfig
回到opencv的build.gradle加上buildFeatures
编译可以通过了
给你自己的项目加上opencv库
然后就可以编程了,如果对C++下的opencv函数熟悉,可以上下面这个链接找对应的函数在哪个类里面
Overview (OpenCV 4.8.0 Java documentation)
简单写了一个程序,运行时发现Mat都new不出来,报错是库找不到
需要在app启动时加上OpenCVLoader.initDebug(),这样就正常了