太感动 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.
百年难得一见的变更,我们必须逐条看看。
New Android Archive Package (AAR) distrubuted with Maven Central
4.9.0 版本之前,我们需要使用 opencv android 平台能力,只能通过手动引入 opencv sdk module 的方式。以后我们可以名正言顺的使用 Maven 依赖库了。
无比亲切的引用方式
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
<dependency>
<groupId>org.opencvgroupId>
<artifactId>opencvartifactId>
<version>4.9.0version>
dependency>
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;
}
New Android samples: QR code detector, video IO sample. DNN and Face Detector samples refresh.
新增部分示例工程,为开发者提供常见场景的参考案例,是非常好的学习材料。
Switch to Gradle 7.6.3, modern Android tools.
以前的版本是 5.6.4
。