OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
Android 開發入門

上一個教程: Clojure OpenCV 開發入門
下一個教程: 使用 OpenCV 進行 Android 開發

原始作者Rostislav Vasilikhin
相容性OpenCV >= 4.0

本指南旨在幫助您學習 Android 開發基礎知識並快速設定您的工作環境。它已在 Ubuntu 22.04 和 Windows 10 上進行了測試。

如果在徹底遵循這些步驟後遇到任何錯誤,請隨時透過 OpenCV 論壇與我們聯絡。我們將盡力幫助您。

前言

Android 是一個基於 Linux 的開源移動作業系統,由 Google 領導的開放手機聯盟開發。有關一般詳細資訊,請參閱 Android 主頁

Android 開發與其他平臺的開發有很大不同。因此,在開始 Android 程式設計之前,我們建議您確保熟悉以下關鍵主題

  1. Java 程式語言是 Android OS 的主要開發技術。此外,您還可以找到 Oracle Java 文件
  2. Java 本地介面 (JNI) 是一種在 Java 虛擬機器中執行原生代碼的技術。此外,您還可以找到 Oracle JNI 文件
  3. Android Activity 及其生命週期,這是一個重要的 Android API 類。
  4. OpenCV 開發肯定需要一些 Android Camera 規範知識。

手動設定 Android 開發環境

在本教程中,我們將使用官方 Android Studio IDE 和一組其他免費提供的工具。

獲取工具和依賴項

以下是如何獲得一個可以工作的環境

  1. 下載並安裝 Android Studio
    • Ubuntu
      1. 下載 Android Studio:https://developer.android.com/studio
      2. 提取 tar.gz 存檔
      3. 按照 Install-Linux-tar.txt 中的說明進行操作:在終端中開啟 android-studio/bin 資料夾並執行 ./studio.sh
      4. 透過 GUI 執行標準安裝
      5. 您可以選擇透過單擊選單Tools -> Create desktop entry在桌面上新增快捷方式以進行快速訪問。該選單在建立或開啟任何專案後出現。
    • Windows:只需從官方網站下載 Android Studio 並執行安裝程式即可。
  2. 安裝最新的 Android SDK 和 NDK

    1. 在 Android Studio 中開啟 SDK 管理器(Customize -> All Settings -> Languages & Frameworks -> Android SDK
    2. 啟用“顯示軟體包詳細資訊”複選框
    1. 檢查最新版本的 SDK 和 NDK,然後按“確定”
    2. 確保您的裝置支援所選的 SDK 版本
  3. 安裝構建所需的所有軟體包
    • sudo apt install git cmake ninja-build openjdk-17-jdk openjdk-17-jre
    • 其餘必需的軟體包是依賴項,應該會自動安裝

檢查 OpenCV 示例

  1. 從官方 Github 釋出頁面SourceForge 下載 Android SDK 的 OpenCV。
  2. 使用您的作業系統工具提取 zip 存檔。
  3. 在 Android Studio 中開啟專案 <YOUR_OPENCV_BUILD_FOLDER>/OpenCV-android-sdk/samples
  4. 連線您的裝置
    • 除錯應該在裝置上啟用,您可以在網路上找到有關它的說明
    • 或者,您可以使用 Android Studio 附帶的虛擬裝置
  1. 從下拉選單中選擇一個示例(例如,15-puzzle)並執行它。

設定裝置以進行測試和除錯

通常,上面的方法可以按預期工作,但在某些情況下,必須執行其他操作。在本節中,我們將介紹一些案例。

Windows 主機

如果您有 Windows 10 或更高版本,則無需執行其他操作即可連線手機並在其上執行示例。但是,較早的 Windows 版本需要更長的過程

  1. 在 Android 裝置上啟用 USB 除錯(透過“設定”選單)。
  2. 使用 USB 資料線將 Android 裝置連線到您的 PC。
  3. 轉到“開始”選單並右鍵單擊“計算機”。在上下文選單中選擇“管理”。可能會要求您提供管理許可權。
  4. 在左側窗格中選擇“裝置管理器”,然後在列表中找到一個未知裝置。您可以嘗試拔下它然後再插回去,以檢查列表中是否顯示了您的確切裝置。
  1. 嘗試安裝 Google USB 驅動程式,無需任何修改:右鍵單擊未知裝置,選擇“屬性”選單項 –>“詳細資訊”選項卡 –>“更新驅動程式”按鈕。
  1. 選擇“瀏覽計算機以查詢驅動程式軟體”。
  1. 指定 <Android SDK folder>/extras/google/usb_driver/ 資料夾的路徑。
  1. 如果您收到安裝未經確認的驅動程式的提示並報告成功 - 您已完成 USB 驅動程式安裝。
  1. 否則(遇到如下所示的故障),請按照以下步驟操作。
  1. 再次右鍵單擊未知裝置,選擇“屬性”–>“詳細資訊”–>“硬體 ID”,然後複製類似 USB\VID_XXXX&PID_XXXX&MI_XX 的行。
  1. 現在開啟檔案 <Android SDK folder>/extras/google/usb_driver/android_winusb.inf。根據您的主機系統架構選擇 Google.NTx86 或 Google.NTamd64 部分。
  1. 應該有一個與您的裝置類似的現有記錄,您需要手動新增一個。
  1. 儲存 android_winusb.inf 檔案,然後再次嘗試安裝 USB 驅動程式。
  1. 這次安裝應該成功。
  1. 現在,未知裝置被識別為 Android 手機。
  1. 可以透過 adb devices 命令在控制檯中驗證成功的裝置 USB 連線。
  1. 現在,在 Eclipse 中轉到“執行”->“執行/除錯”以在常規或除錯模式下執行您的應用程式。“裝置選擇器”將讓您在裝置之間進行選擇。

Linux 主機

雖然最新的 Ubuntu 版本可以很好地與連線的 Android 裝置配合使用,但在較舊的版本上可能會出現問題。但是,大多數問題都可以輕鬆修復。您必須建立一個新的 **/etc/udev/rules.d/51-android.rules** 配置檔案,其中包含有關您的 Android 裝置的資訊。您可能會發現一些供應商 ID 這裡或執行 lsusb 命令以檢視插入的 Android 裝置的 VendorID。以下是 LG 裝置的此類檔案的示例

SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"

然後重新啟動您的 adb 伺服器(最好重新啟動系統),插入您的 Android 裝置並執行 adb devices 命令。您將看到連線的裝置列表

savuor@rostislav-laptop:~/Android/Sdk/platform-tools$ ./adb devices
連線的裝置列表
R58MB40Q3VP 裝置
savuor@rostislav-laptop:~/Android/Sdk/platform-tools$

Mac OS 主機

無需執行任何操作,只需透過 USB 連線您的裝置並執行 adb devices 以檢查連線。

下一步

現在,您已經設定並配置了 OpenCV4Adroid SDK 例項,您可能想繼續在您自己的應用程式中使用 OpenCV。您可以在單獨的 使用 OpenCV 進行 Android 開發 教程中學習如何做到這一點。