OpenCV 为 Android 开发者提供了一组示例。这些示例展示了如何从 Android 的 Java 和原生 C++ 层使用 OpenCV。示例分为两组:Java 和 C++ OpenCV API 示例,以及一组示例应用程序。第一组名为“教程 #”,并考虑了初学者需要了解的重要方面:在常规应用程序中使用 OpenCV、使用标准相机、在单个应用程序中混合使用 Java 和 C++ 调用 OpenCV。示例应用程序适用于 Mavel Central AAR 包 和 OpenCV for Android SDK。
Java 和 C++ API 使用
第一组示例展示了如何在您的项目中使用 OpenCV Java API。请遵循教程“Android 开发入门”,以安装所有必要的先决条件、构建应用程序并了解其行为。
- 教程 1 - 相机预览 - 展示了 Android 应用程序使用 OpenCV 的最简单方法,即通过 OpenCV 应用程序辅助类。它显示全屏预览,并展示 OpenCV API 以获取相机帧以进行处理和渲染。
- 教程 2 - 混合处理 - 展示了使用 Java 实现的滤镜和对 OpenCV 的 C++ 调用对相机预览帧进行预处理的方法。
教程 3 - 相机控制 - 展示了在基于 OpenCV 的 Android 应用程序中对相机进行基本操作的方法。特别是,它更改相机预览分辨率,激活相机内置效果,拍摄并保存静止图像。
示例应用程序
还有一些主要用 Java 编写的示例应用程序。它们从相机获取一帧,使用 OpenCV 进行一些处理,并在设备屏幕上可视化该帧。
- 示例 - 图像操作 - 此示例演示了如何将 OpenCV 用作图像处理和操作库。它支持几种滤镜,演示了颜色空间转换和直方图操作。它与计算机视觉没有特殊关系,但 OpenCV 具有强大的核心和 imgproc 模块,这些模块可能在各种应用程序中非常有用,特别是在计算摄影领域。
- 示例 - 15 拼图 - 展示了如何使用 OpenCV 的几个调用实现一个简单的游戏。它在 Google Play 上可用。
- 示例 - 人脸检测 - 是在 Android 上实现人脸检测功能的最简单示例。该示例使用 FaceDetection API 和 DNN 模块。
- 示例 - 颜色斑点检测 - 此示例展示了颜色斑点跟踪的简单实现。用户指向某个区域,算法尝试选择具有相似颜色的整个斑点。它演示了如何使用触摸界面和轮廓。
- 示例 - mobilenet-objdetect - 展示了在 Android 上使用 MobileNet SSD 网络。网络可以通过少量修改替换成您自己的网络。
- 示例 - qr-detection - 演示了在 OpenCV 中实现的两种 QR 码检测和解码管道。管道使用经典的计算机视觉。
示例 - 视频录制 - 是基于 OpenCV 视频 I/O API 的简单视频录制和播放应用程序。示例功能可能因 Android 版本和 OpenCV 构建选项而异。
此页面最后更新于 2024 年 2 月 28 日。