用於影像擷取的安卓相機介面

基本介紹

Imatest現在支援直接從 Android 裝置取得映像,適用於 Android API 等級 15 以上版本(例如 Icecream Sandwich 及更高版本)。透過內建的 Android 應用程式ImatestAcquire (在某些情況下還需要 ITSservice 服務), Imatest可以遠端發出影像擷取指令,並透過 USB 下載擷取到的資料。有了ImatestAcquire , Imatest現在可以遠端測試 Android 裝置。

ImatestAcquire可以藉助 Android 裝置上的內建相機應用程式拍攝影像,或者對於部分裝置(請參閱下方清單),可以使用 Android 的 CameraITS 功能。所有裝置均可使用內建相機應用程式拍攝,如果裝置上安裝了多個相機應用,使用者可以選擇使用哪一個。這種操作模式類似於傻瓜相機,無需用戶在 Android 裝置上進行任何操作(例如,用戶需要按下快門按鈕)。對於支援 Android Camera 2 API 的設備, ImatestAcquire 可以全自動運行,並允許使用者存取重要的拍攝設定:ISO 感光度、曝光時間、影像尺寸和影像格式(YUV、JPEG 和 RAW [1] )。

*注意* 從 Imatest 5.0 開始,影像擷取功能已整合到 Imatest Master 中。在 Imatest 5.0 之前,影像擷取功能位於 Imatest IS 中。

ImatestAcquire 安卓應用

 ImatestAcquire-Mainactivity

ImatestAcquire應用載入後,會顯示主介面(如上圖所示)。使用者介麵包含「連線」 、 「拍照」和「設定」按鈕,前兩個按鈕還帶有對應的狀態指示器。由於Imatest會以自動化的方式與應用程式交互,因此通常無需使用這些控制項。不過,下文將詳細介紹。

啟動時, ImatestAcquire 會開始搜尋連接,以便 Imatest 可以自動連接到ImatestAcquire 。如有需要,可使用「連線」按鈕手動觸發ImatestAcquire 開始搜尋連線。等待連線期間,將顯示「正在等待連線」的訊息。連接建立後,狀態指示器將變更為“已連接到 /127.0.0.1,連接埠 2112 ”,例如。如果在逾時時間內未建立連接,則會顯示「連線逾時,請重試」 。

按下「拍照」按鈕將使用已儲存的設定手動觸發影像擷取並嘗試傳輸影像。請注意,Imatest IS 會自動觸發影像擷取,因此無需使用此按鈕。

“設定”按鈕會開啟“設定”介面。

設定活動

「設定」活動提供以下與擷取和連線相關的設定的存取權限:

  • 連線逾時 - ImatestAcquire等待連線的持續時間。設定為零 (0) 秒可停用逾時限制。
  • 連接埠號碼- 用於與 Imatest IS 建立連線的 Android 裝置上的連接埠號碼。此值必須與Imatest IS中 Android 設定對話方塊的「裝置連接埠」欄位中所列的值相同。
  • 拍攝方式-影像的來源。對於支援的裝置(請參閱下方清單),使用者可以選擇內建相機應用程式或CameraITS,這將啟用拍攝模式設定和手動拍攝設定功能。否則,此設定將僅限於內建相機應用,並且上一句中提到的控制將被停用。
  • 拍攝模式- 對於CameraITS選項,使用者可以選擇全自動拍攝或手動拍攝。如果選擇手動拍攝,則啟用手動拍攝設定。

請注意,當 Imatest 向 ImatestAcquire 請求捕獲時,這些設定將被覆蓋。

ImatestAcquire-Settingsactivity

手動捕獲設定活動

「設定」活動提供以下手動擷取相關設定的存取權限:

  • 影像格式- 可選擇yuv 、 jpeg或(對於某些裝置) raw 格式。
  • 曝光時間 -設定曝光持續時間,以毫秒為單位,範圍從 1 到 200。
  • 感光度 -設定 ISO 感光度
  • 自訂影像尺寸複選框 - 選取此複選框可啟用自訂影像尺寸。請注意,相機僅支援一組固定的影像尺寸。最好在Imatest的Android 設定視窗中設定自訂映像尺寸。
  • 影像寬度-以像素為單位的影像寬度。
  • 影像高度-以像素為單位的影像高度

請注意,當Imatest向ImatestAcquire請求捕獲時,這些設定將被覆蓋。

ImatestAcquire-ITS設定

配置您的安卓設備

若要讓您的 Android 裝置能夠與Imatest通信,裝置必須透過 USB 連接到主機,並且必須在裝置上啟用 USB 偵錯模式。啟用此選項後,即可透過 USB 與主機通訊。您可以在「設定」應用程式的「開發者選項」中找到啟用 USB 偵錯模式的選項。對於 API 等級 17(Android 4.2)及更高版本,預設情況下「開發者選項」為隱藏狀態。對於 API 版本為 15 或 16 的設備,請直接跳至「啟用 USB 偵錯」部分。

啟用開發者選項

啟用開發者選項的步驟可能因裝置而異,此範例以 Google Nexus 5 為例。若要啟用開發者選項,請開啟「設定」應用程式,向下捲動並選擇「關於手機」部分。在「關於手機」中,向下捲動找到「版本號」 ,然後連續點擊「版本號」七次。點擊三次後,螢幕上會顯示提示訊息(見下圖)。

 Android-EnableDeveloper

啟用 USB 偵錯

接下來返回“設定”應用,向下捲動,然後選擇“開發者選項”部分。

Android開發者選項
在開發者選項中,選擇「USB調試」 ,現在設備就配置好了。

 Android-EnableUSBDebug

請注意,在某些裝置上,無需恢復原廠設定即可重新隱藏「開發者選項」。若要執行此操作,請開啟“設定”應用,然後選擇“應用”部分。向下捲動至“全部”部分,然後向下捲動選擇“設定”應用程式。點擊「清除資料」按鈕, 「開發者選項」部分現在應該會再次隱藏。

配置 Imatest Imatest-開啟 Android 設定

要使用Imatest進行擷取,首先必須在Android 設定視窗中設定連接和擷取設置,並且必須將Imatest設定為從 Android 擷取。

Android 設定視窗

Android 設定視窗用於選擇已連接的 Android 裝置並定義該裝置的擷取設定。此視窗可透過Imatest主視窗的「設定」選單和「Android 設定」選單項目存取。請注意,由於對話方塊需要輪詢可用的 Android 設備,因此視窗可能需要一些時間才會顯示。

連接配置部分

本部分可讓使用者建立與 Android 裝置的連線。 Imatest 透過 USB 轉送的 TCP 連線與 Android 裝置通訊。由於這種連接方式,Android設備連接埠和主機連接埠都有對應的設定選項。通常情況下,無需更改這些連接埠。

如果您的裝置已按照上述步驟正確配置,則在對話方塊載入時,您裝置的序號將顯示在「選擇裝置」下拉式功能表中(如果未顯示,請確保已啟用 USB 偵錯,如上所述)。選擇設備後, Imatest將安裝ImatestAcquire 應用程式(支援的設備,也會安裝 ITSservice),並啟用「啟動 ImatestAcquire」 、 「重新啟動設備」和「停止 ImatestAcquire」按鈕。這些按鈕允許使用者從設備全新狀態啟動 ImatestAcquire。

採集設定部分Android設定

本節包含定義影像擷取所需的各種控制項。第一個單選按鈕組是「採集來源」組,允許從內建應用或CameraITS進行捕獲。使用內建應用程式擷取影像將呼叫裝置上使用者選擇的相機應用。 CameraITS 選項將從 Android 的 CameraITS 服務擷取影像,該服務僅適用於部分裝置。選擇「內建應用」將停用本節中的所有其他控件,因為它們僅適用於CameraITS 。請注意,對於不支援 CameraITS 的設備,唯一可用的採集來源是「內建應用」 。

CameraITS選項可控制拍攝模式、影像格式、曝光、感光度,以及自訂影像尺寸的下拉式選單和強制使用線性色調映射的複選框。拍攝模式組包含以下選項:

全自動拍攝模式會停用其他控制選項,並且僅支援 YUV 影像格式。在手動拍攝模式下,您可以修改曝光時間、ISO 感光度、影像尺寸以及是否使用線性色調映射。請注意,曝光時間、感光度和自訂尺寸的限制由設備決定。此外,設備還決定了允許的影像格式,但在手動模式下,所有允許的格式均可使用。

啟用從 Imatest 取得 Android 數據

若要讓Imatest從 Android 裝置取得映像,請點選Imatest主視窗中的「設定」選單。然後選擇“從裝置取得影像”,最後選擇“Android”。現在Imatest就可以從連線的 Android 裝置取得影像了。

Imatest-select Android

CameraITS(攝影機 2)支援的裝置列表

已知問題

  1. 某些安卓設備,例如 Nexus 5,在透過 USB 3.0 連接埠進行穩定通訊時會遇到問題。如果在幾次截圖後出現「錯誤:裝置離線」的提示,請嘗試將裝置連接到 USB 2.0 連接埠重試。

[1] 截至撰寫本文檔時,Android 尚未在 Camera 2 API 中新增 RAW 支援。 RAW 支援將在 Android 正式發布 Android API 版本 L 時提供。