Im Exterior View System (EVS) 1.1 ist das logische Kameragerät, das aus mehrere physische Kamerageräte unterstützt werden. Wenn du dieses virtuelle Gerät verwenden möchtest, Gerät -Implementierungen müssen die -Synchronisierung Framework.
Logisches Kameragerät auflisten, öffnen und schließen
Die App kann mit denselben IEvsEnumerator
-Methoden die Methode
verfügbaren logischen Kamerageräten. Das zurückgegebene EvsCamera
-Objekt, das
stellt ein logisches Kameragerät dar und muss die folgenden Elemente in den Metadaten enthalten:
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
Wenn ein zurückgegebenes EvsCamera-Objekt eine logische Kamera repräsentiert, werden seine Kamerametadaten muss diesen Funktionsschlüssel in der DateiANDROID_REQUEST_AVAILABLE_CAPABILITIES
enthalten ein.ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS
enthält die Gerätekennungen für physische Kameras.ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
kann einen der folgenden enum-Werte haben:ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE
ist für Sensoren im Master-Master-Modus gedacht, keine Hardware-Auslöser/Belichtungssynchronisierung.ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED
ist für Sensoren im Master-Slave-Modus sowie für die Hardware-Auslöse-/Belichtungssynchronisierung bestimmt. Synchronisierte GMSL2-Kameras müssen diesen Wert haben.
Die App kann eine Beschreibung für physische Kamerageräte über
IEvsCamera
in der neuen getPhysicalCameraInfo(stringcameraId)
.
/** * 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);
Unterstützung mehrerer Kameras konfigurieren
Alle logischen Kameras müssen statisch definiert und werden über eine Configuration Manager-Implementierung aufgezählt. Da EVS die einzelnen unterschiedlich konfiguriert werden, stellt EVS eine Liste der Mitglieder Geräte und gibt an, ob die Bilderfassung synchronisiert wird.
<!-- 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>