Android OpenCV(七十六): OpenCV 4.9.0 更新,终于有一点Android平台的调整了

发布时间:2024年01月03日

前言

😂 😂 太感动 ing,OpenCV 4.9.0 版本更新,官方 ChangeLog 里终于出现久违的 Android 平台变更。

具体内容如下:

  • Android
  • New Android Archive Package (AAR) distrubuted with Maven Central
  • Finally removed API for OpenCV manager. OpenCVLoader.initLocal() should be used to initialize OpenCV.
  • New Android samples: QR code detector, video IO sample. DNN and Face Detector samples refresh.
  • Switch to Gradle 7.6.3, modern Android tools.

百年难得一见的变更,我们必须逐条看看。

强行细品

1. AAR 发布至 Maven Center

New Android Archive Package (AAR) distrubuted with Maven Central

4.9.0 版本之前,我们需要使用 opencv android 平台能力,只能通过手动引入 opencv sdk module 的方式。以后我们可以名正言顺的使用 Maven 依赖库了。

Maven Central

无比亲切的引用方式 😁😁

  • Gradle
implementation 'org.opencv:opencv:4.9.0' // Gradle Short
implementation group: 'org.opencv', name: 'opencv', version: '4.9.0'  // Gradle
implementation("org.opencv:opencv:4.9.0") // Gradle Kotlin
  • Maven
<dependency>
    <groupId>org.opencv</groupId>
    <artifactId>opencv</artifactId>
    <version>4.9.0</version>
</dependency>

2. 移除 OpenCV Manager 废弃 API,调整初始化方式

Finally removed API for OpenCV manager. OpenCVLoader.initLocal() should be used to initialize OpenCV.

初始化 OpenCV 方式调整,移除之前冗余的代码。现在初始化直接调用 OpenCVLoader.initLocal() 即可。源码里面的 OpenCVLoader 与 StaticHelper 两个类文件也做了大量简化。核心就是调用 System.loadLibrary()

if (OpenCVLoader.initLocal()) {
    Log.i(TAG, "OpenCV loaded successfully");
} else {
    Log.e(TAG, "OpenCV initialization failed!");
    (Toast.makeText(this, "OpenCV initialization failed!", Toast.LENGTH_LONG)).show();
    return;
}

3. 新增 Android 平台示例代码

New Android samples: QR code detector, video IO sample. DNN and Face Detector samples refresh.

新增部分示例工程,为开发者提供常见场景的参考案例,是非常好的学习材料。

示例工程

4. Gradle 版本升级

Switch to Gradle 7.6.3, modern Android tools.

Gradle 7.6.3

以前的版本是 5.6.4

文章来源:https://blog.csdn.net/poorkick/article/details/135371623
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。