
此帖子最初发表在 OpenCV.AI 上
通过 Maven Central 更轻松地访问适用于 Android 的 OpenCV
在 12 月,我们发布了 OpenCV 4.9.0。作为该版本的一部分,我们首次通过 Maven Central 存储库 提供了 Android 版本。这项工作得到了 Arm 公司的支持,Arm 公司是 Android 和全球智能手机所基于的计算机架构的作者。
OpenCV 是用于开发和部署计算机视觉 (CV) 工作负载的开源库。它在 Android 上的可用性将使开发和维护 Android 系统的 CV 应用程序变得更加容易,从而降低了开发人员为支持 AI 和图像处理算法构建高质量 CV 算法的门槛。
通过 Maven Central 管理应用程序的 OpenCV 依赖项非常简单,Android Studio 和许多其他工具都内置了支持。这样做还使您能够轻松地跟上新版本 OpenCV 发布时的错误修复、新功能和性能改进。OpenCV 团队维护了发行版的源代码兼容性,更新是安全的。使用 Maven Central 还可以确保您获得为性能而正确配置的 OpenCV 版本,并使用正确的依赖项。
我们正在与 Arm 合作不断改进 OpenCV 在各种 Arm 设备上的性能,从传感器到服务器和超级计算机。这包括利用算法更改的改进或使用新的 Arm CPU 功能。
我们将在发布最新版本的 OpenCV 时将其更新到 Maven Central,并继续更新我们对 Android 的支持,确保开发人员可以将 OpenCV 集成到他们的工作流程中,与其他 Android 功能并行使用。
我们要感谢 Arm 支持这项工作。
在您的 Android 应用程序中使用 OpenCV
要开始使用 OpenCV,您无需下载 SDK。只需在 Android Studio 中创建一个新的应用程序(或打开一个现有的应用程序),打开应用程序的 build.gradle(其中包含“android”部分),并将 OpenCV 添加到全局范围内的依赖项部分,如下所示
apply plugin: 'com.android.application' android { namespace 'org.opencv.samples.puzzle15' compileSdkVersion 31 defaultConfig { applicationId "org.opencv.samples.puzzle15" minSdkVersion 21 targetSdkVersion 31 versionCode 301 versionName "3.01" } // … more options here } dependencies { implementation 'org.opencv:opencv:4.9.0' } }
OpenCV 包将在应用程序构建期间由 Gradle 自动下载和链接。本地库也会自动添加到 APK 中。您只需要在第一次使用库之前添加一个运行时调用以加载 OpenCV 本地部分,如下所示
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 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; } // application initialization logic }
也可以在 Android 应用程序中将 OpenCV 与您的本地代码库一起使用。OpenCV AAR 包含一个 预制 部分,允许开发人员为 Android 开发本地部分。OpenCV 教程 Tutorial2-混合处理提供了一个示例。
总之,除了上面概述的正常 Gradle 步骤外,您还必须更新您的本地代码以链接到 OpenCV 库。在 CMake 中,这可以通过以下方式完成
find_package(OpenCV REQUIRED COMPONENTS OpenCV::opencv_java4) file(GLOB srcs *.cpp *.c) file(GLOB hdrs *.hpp *.h) add_library(${target} SHARED …) target_link_libraries(${target} OpenCV::opencv_java4)
我们期待看到您使用 OpenCV 取得的成就
OpenCV 包在 Maven Central 上提供:https://central.sonatype.com/artifact/org.opencv/opencv.
OpenCV 是一个开源项目,使用 Apache 2.0 许可证发布。 请随时查看并在 GitHub 上贡献!!
我不是开发人员;我能做些什么来帮助? 向非营利组织 OpenCV 捐赠是 受欢迎的!