参考链接:
(1) https://zhuanlan.zhihu.com/p/666307982
(2) https://forum.opencv.org/t/opencv-4-8-0-cannot-resolve-symbol-opencv-engine-interface/14307/2
以下操作以张思民老师的《Android Studio应用程序设计》第3版中的例9-2为例进行操作。
1. 下载OpenCV Android SDK
(1) 进入OpenCV 官网:https://opencv.org/releases/
(2) 点击下方的Android开始下载
(3) 下载的OpenCV Android SDK为如图所示的压缩包
(4) 解压以上压缩包
2. 搭建开发环境
(1) 新建一个空白项目
(2) 选择菜单File→New→Import Module
(3) 在Import module from source对话框中选择OpenCV-android-sdk解压目录下的sdk
注意:是目录下的sdk而不是课本中sdk/java
(4)稍等,运行项目出现以下报错
Plugin [id: ‘com.android.application’, version: ‘8.1.0’, apply: false] was not found in any of the following sources:
(5)解决以上问题
① 查看以下信息
② 打开opencv/build.gradle
③ 修改方框中的参数与步骤①中参数一致,修改后如下图所示
④ 将apply plugin: ‘kotlin-android’ 注释掉
⑤ 添加namespace “org.opencv”
⑥ 打开项目目录中的settings.gradle和settings.gradle.kts
⑦ 将settings.gradle.kts中的内容复制到settings.gradle
settings.gradle.kts 内容保持不变
settings.gradle 在末尾添加一行include(“:opencv”)
重新编译,报错消失
3. 编写代码
(1) 在res/drawable文件夹下放置一张图片
(2) 将布局文件复制到res/layout/activity_main.xml文件中
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ImageView
android:id="@+id/imageView"
android:layout_width="289dp"
android:layout_height="324dp"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_marginTop="4dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/dog" />
<Button
android:id