Çoklu kamera desteği

Dış Görüş Sistemi (EVS) 1.1'de bulunan mantıksal kamera cihazı birden fazla fiziksel kamera cihazı desteklenir. Bu sanal cihazı kullanmak için cihaz uygulamaları, Senkronizasyon Çerçeve.

Mantıksal kamera cihazını belirtme, açma ve kapatma

Uygulama,IEvsEnumerator mantıksal kamera olarak kullanabilirsiniz. Döndürülen EvsCamera nesnesi mantıksal bir kamera cihazını temsil eder ve meta veride şu öğeleri içermelidir:


  • ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA Döndürülen EvsKamera nesnesi mantıksal bir kamerayı temsil ediyorsa kamera meta verileri ANDROID_REQUEST_AVAILABLE_CAPABILITIES içinde bu özellik anahtarını içermelidir girin.
  • ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS. fiziksel kamera cihaz tanımlayıcılarını listeler.
  • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE. alanı, aşağıdaki enum değerlerinden birine sahip olabilir:
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE. ana moddaki sensörler içindir, donanım deklanşörü/pozlama senkronizasyonu yoktur.
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED. ana-ikincil modundaki sensörler, donanım deklanşör/pozlama senkronizasyonu içindir. Senkronize edilmiş GMSL2 kameraları bu değere sahip olmalıdır.

Uygulama, fiziksel kamera cihazlarının tanımlayıcılarını Yeni getPhysicalCameraInfo(stringcameraId) içindeki IEvsCamera yöntemidir.

/**
 * 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);

Çoklu kamera desteğini yapılandırma

Tüm mantıksal kameraların statik olarak tanımlanması ve yöntemi ile numaralandırılır. EVS, her bir modelin farklı şekilde yapılandırılacaksa EVS, gruptaki tüm cihazların cihazlar ve görüntü yakalamanın senkronize edilip edilmediğini belirtir.

<!-- 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>