下一篇:暂无
引言:
OpenCV是一个跨平台计算机视觉库,广泛用于图像处理、计算机视觉和机器学习等领域。通过OpenCV,我们可以轻松地实现各种图像处理算法,如图像滤波、形态学变换、边缘检测、特征提取、图像分割等。随着移动设备的流行,越来越多的应用程序需要在移动平台上使用OpenCV。本篇博客将介绍OpenCV在Android开发中的基础知识和使用方法。您将学习如何配置OpenCV库和使用其API实现一些基本的图像处理功能,包括图像读写、图像显示、图像滤波、形态学操作等。我们还将讨论如何将OpenCV应用于实际应用程序中,例如照相机应用程序和人脸识别应用程序。本篇博客旨在为想要将OpenCV集成到其Android应用程序中的初学者提供指导。我们希望本文能够为读者提供理解OpenCV在Android平台上的基础知识,并提供实际示例来帮助他们更深入地了解OpenCV的API。无论您是有经验的Android开发人员还是初学者,我都相信本篇博客能够为您带来帮助。
Android 是一个基于 Linux 的开源移动操作系统,由谷歌领导的开放手机联盟开发。有关一般详细信息,请参阅 Android 主站点。
针对 Android 的开发与其他平台的开发有很大不同。因此,在开始针对 Android 进行编程之前,我们建议您确保熟悉以下关键主题:
- Java 编程语言是 Android 操作系统的主要开发技术。此外,您还可以找到有关 Java 的 Oracle 文档。
- Java 本机接口 (JNI) 是一种在 Java 虚拟机中运行本机代码的技术。此外,您还可以找到有关 JNI 的 Oracle 文档。
- Android Activity 及其生命周期,这是必不可少的 Android API 类。
- OpenCV 开发肯定需要对 Android Camera 的细节有一定的了解。
本指南旨在帮助您学习 Android 开发基础知识并快速设置您的工作环境。它已在 Ubuntu 22.04 和 Windows 10 上进行了测试。如果您在彻底执行这些步骤后遇到任何错误,请随时通过 OpenCV 论坛与我们联系。我们将尽最大努力为您提供帮助。
用于 Android 开发的手动环境设置
在本教程中,我们将使用官方的 Android Studio IDE 和一组其他免费可用的工具。
获取工具和依赖项
Here's how to get a ready to work environment:
- 下载并安装 Android Studio:
Ubuntu的:
- 下载 Android Studio: https://developer.android.com/studio
- 提取tar.gz存档
- 按照中的说明操作:在终端中打开文件夹并运行
Install-Linux-tar.txt``android-studio/bin``./studio.sh
- 通过GUI执行标准安装
- 或者,您可以通过单击菜单***"工具"->"创建桌面条目***"在桌面上添加快捷方式以快速访问。该菜单在创建或打开任何项目后显示。
Windows:只需从官方网站下载 Android Studio 并运行安装程序即可
- 安装全新的 Android SDK 和 NDK:
- 在 Android Studio 中打开 SDK 管理器(自定义 -> 所有设置 -> 语言和框架 -> Android SDK)
- 启用"显示包详细信息"复选框
- 检查最新版本的 SDK 和 NDK,然后按 OK
- 确保您的设备支持所选的 SDK 版本
- 安装构建所需的所有软件包:
bash
sudo apt install git cmake ninja-build openjdk-17-jdk openjdk-17-jre
- 其余必需的包是依赖项,应自动安装
查看OpenCV示例
- 从 Github 或 SourceForge 的官方发布页面从 Android SDK 下载 OpenCV。
- 使用操作系统工具提取 zip 存档。
- 在 Android Studio 中打开项目。
<YOUR_OPENCV_BUILD_FOLDER>/OpenCV-android-sdk/samples
- 连接您的设备
- 应在设备上启用调试,您可以在 Web 上找到有关它的说明
- 或者,您可以使用 Android Studio 附带的虚拟设备
从下拉菜单中选择一个示例(例如,)并运行它。15-puzzle
用于测试和调试的设置设备
通常,上述配方按预期工作,但在某些情况下,必须执行其他操作。在本节中,我们将介绍一些情况。
Windows主机
如果您使用的是 Windows 10 或更高版本,则无需执行其他操作即可连接手机并在其上运行示例。但是,早期的 Windows 版本需要更长的过程:
- 在Android设备上启用USB调试(通过"设置"菜单)。
- 使用 USB 数据线将 Android 设备连接到您的 PC。
- 转到"开始"菜单,然后右键单击"计算机"。在上下文菜单中选择"管理"。系统可能会要求您提供管理权限。
- 在左窗格中选择"设备管理器",然后在列表中查找未知设备。您可以尝试拔下它,然后重新插入,以检查它是否是您的确切设备出现在列表中。
5、试试运气,无需任何修改即可安装 Google USB 驱动程序:右键单击未知设备,选择"属性"菜单项 -> 详细信息选项卡 -> 更新驱动程序按钮。
6.选择"浏览计算机以查找驱动程序软件"。
-
指定文件夹的路径。
<Android SDK folder>/extras/google/usb_driver/
folder. -
如果系统提示您安装未经验证的驱动程序并报告成功,则您已经完成了 USB 驱动程序安装。
-
否则(出现如下所示的故障),请按照以下步骤操作。
-
再次右键单击 未知设备,选择"属性"-">详细信息"-">硬件 ID",然后复制类似 的行
USB\VID_XXXX&PID_XXXX&MI_XX
. -
现在打开文件
<Android SDK folder>/extras/google/usb_driver/android_winusb.inf
. 选择 Google.NTx86 或 Google.NTamd64 部分,具体取决于您的主机系统体系结构 -
您的设备应该有一个与现有记录类似的记录,您需要手动添加一个
-
保存android_winusb.inf文件并尝试再次安装 USB 驱动程序
-
这次安装应该会成功
-
未知设备现在被识别为 Android 手机。
-
可以通过 adb devices 命令在控制台中验证设备 USB 连接是否成功。
-
现在,在 Eclipse 中,转到 Run -> Run/Debug 以常规模式或调试模式运行应用程序。设备选择器将允许您在设备中进行选择。
Linux主机
虽然最新的 Ubuntu 版本适用于连接的 Android 设备,但旧版本可能会出现问题。但是,它们中的大多数都可以轻松修复。您必须创建一个新的 **/etc/udev/rules.d/51-android.rules** 配置文件,其中包含有关您的 Android 设备的信息。您可以在此处找到一些供应商 ID 或执行 lsusb 命令以查看插入的 Android 设备的供应商 ID。以下是LG设备的此类文件的示例:
bash
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"
然后重新启动您的adb服务器(最好重新启动系统),插入您的Android设备并执行adb devices 命令。您将看到连接的设备列表:
bash
savuor@rostislav-laptop:~/Android/Sdk/platform-tools$ ./adb devices
List of devices attached
R58MB40Q3VP device
savuor@rostislav-laptop:~/Android/Sdk/platform-tools$
Mac OS 主机
无需执行任何操作,只需通过 USB 连接您的设备并运行 adb devices 即可检查连接。
后续步骤
现在,当您设置和配置了 OpenCV4Adroid SDK 实例后,您可能希望在自己的应用程序中使用 OpenCV。您可以在单独的 Android 开发 OpenCV 教程中了解如何执行此操作。
参考文献:
1、《Introduction into Android Development》Rostislav Vasilikhin