多鏡頭支援

在外部檢視系統 (EVS) 1.1 中,由 系統支援多部實體相機裝置如要使用這部虛擬裝置,請執行以下操作: 都必須支援 同步處理 架構

列舉、開啟及關閉邏輯相機裝置

應用程式可以使用相同的 IEvsEnumerator 方法,使用 可用的邏輯相機裝置傳回的 EvsCamera 物件, 代表邏輯相機裝置,且中繼資料必須包含下列項目:

  • ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
    如果傳回的 EvsCamera 物件代表邏輯相機,則其相機中繼資料 的 ANDROID_REQUEST_AVAILABLE_CAPABILITIES 中必須包含這個功能金鑰 ] 欄位。
  • ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS 欄位會列出實體相機裝置 ID。
  • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE 欄位可包含下列其中一個列舉值:
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE 適用於處於主節點模式的感應器,且沒有硬體快門/曝光同步。
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED 適用於處於主從模式的感應器 硬體快門/曝光同步 已同步的 GMSL2 攝影機必須具有此值。

應用程式可以透過以下方式擷取實體相機裝置的描述元: 新getPhysicalCameraInfo(stringcameraId)中的IEvsCamera 方法。

/**
 * Returns the description of the physical camera device that backs this
 * logical camera.
 *
 * If a requested device does not either exist or back this logical device,
 * this method returns a null camera descriptor. And, if this is called on
 * a physical camera device, this method is the same as getCameraInfo_1_1()
 * method if a given device ID is matched. Otherwise, this returns a
 * null camera descriptor.
 *
 * @param  deviceId Physical camera device identifier string.
 * @return info     The description of a member physical camera device.
 *                  This must be the same value as reported by
 *                  EvsEnumerator::getCameraList_1_1().
 */
getPhysicalCameraInfo(string deviceId) generates (CameraDesc info);

設定多鏡頭支援功能

所有邏輯相機皆須以靜態方式定義,且為 透過設定管理員實作所列舉。因為 EVS EVS 提供成員清單 裝置,並指出圖片拍攝是否完成同步處理。

<!-- camera group 0 -->
<group id='group0' synchronized='CALIBRATED'>
    <caps>
        <!-- list of supported controls supported by all physical devices -->
        <supported_controls>
            <control name='BRIGHTNESS' min='0' max='255'/>
            <control name='CONTRAST' min='0' max='255'/>
        </supported_controls>

        <!-- list of stream configuration supported by all physical devices -->
        <stream id='0' width='640' height='480' format='RGBA_8888' framerate='30'/>
    </caps>

    <!-- list of parameters -->
    <characteristics>
        <parameter
            name='REQUEST_AVAILABLE_CAPABILITIES'
            type='enum'
            size='1'
            value='LOGICAL_MULTI_CAMERA'
        />
        <parameter
            name='LOGICAL_MULTI_CAMERA_PHYSICAL_IDS'
            type='byte[]'
            size='2'
            value='/dev/video3,/dev/video4'
        />
    </characteristics>
</group>