Im Exterior View System (EVS) 1.1 wird das logische Kameragerät unterstützt, das aus mehreren physischen Kamerageräten besteht. Um dieses virtuelle Gerät verwenden zu können, müssen Geräteimplementierungen das Synchronization Framework unterstützen.
Logisches Kameragerät aufzählen, öffnen und schließen
Die App kann dieselben IEvsEnumerator
Methoden verwenden, um die verfügbaren logischen Kamerageräte zu verwenden. Das zurückgegebene EvsCamera
Objekt, das ein logisches Kameragerät darstellt, muss die folgenden Elemente in den Metadaten enthalten:
-
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
Wenn ein zurückgegebenes EvsCamera-Objekt eine logische Kamera darstellt, müssen seine Kamerametadaten diesen Funktionsschlüssel im FeldANDROID_REQUEST_AVAILABLE_CAPABILITIES
enthalten. - Das Feld
ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS
listet physische Kamerageräte-IDs auf. - Das Feld
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, keine Hardware-Verschluss-/Belichtungssynchronisierung. -
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED
ist für Sensoren im Master-Slave-Modus, Hardware-Shutter-/Belichtungssynchronisierung. Synchronisierte GMSL2-Kameras müssen diesen Wert haben.
-
Die App kann einen Deskriptor physischer Kamerageräte über IEvsCamera
in der neuen Methode getPhysicalCameraInfo(stringcameraId)
abrufen.
/** * 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);
Konfigurieren Sie die Unterstützung mehrerer Kameras
Alle logischen Kameras müssen statisch definiert und über eine Konfigurationsmanager-Implementierung aufgelistet werden. Da EVS die unterschiedliche Konfiguration jedes Geräts in der Gruppe ermöglicht, stellt EVS eine Liste der Mitgliedsgeräte bereit und gibt an, ob die Bilderfassung synchronisiert ist oder nicht.
<!-- 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>,
Im Exterior View System (EVS) 1.1 wird das logische Kameragerät unterstützt, das aus mehreren physischen Kamerageräten besteht. Um dieses virtuelle Gerät verwenden zu können, müssen Geräteimplementierungen das Synchronization Framework unterstützen.
Logisches Kameragerät aufzählen, öffnen und schließen
Die App kann dieselben IEvsEnumerator
Methoden verwenden, um die verfügbaren logischen Kamerageräte zu verwenden. Das zurückgegebene EvsCamera
Objekt, das ein logisches Kameragerät darstellt, muss die folgenden Elemente in den Metadaten enthalten:
-
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
Wenn ein zurückgegebenes EvsCamera-Objekt eine logische Kamera darstellt, müssen seine Kamerametadaten diesen Funktionsschlüssel im FeldANDROID_REQUEST_AVAILABLE_CAPABILITIES
enthalten. - Das Feld
ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS
listet physische Kamerageräte-IDs auf. - Das Feld
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, keine Hardware-Verschluss-/Belichtungssynchronisierung. -
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED
ist für Sensoren im Master-Slave-Modus, Hardware-Shutter-/Belichtungssynchronisierung. Synchronisierte GMSL2-Kameras müssen diesen Wert haben.
-
Die App kann einen Deskriptor physischer Kamerageräte über IEvsCamera
in der neuen Methode getPhysicalCameraInfo(stringcameraId)
abrufen.
/** * 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);
Konfigurieren Sie die Unterstützung mehrerer Kameras
Alle logischen Kameras müssen statisch definiert und über eine Konfigurationsmanager-Implementierung aufgelistet werden. Da EVS die unterschiedliche Konfiguration jedes Geräts in der Gruppe ermöglicht, stellt EVS eine Liste der Mitgliedsgeräte bereit und gibt an, ob die Bilderfassung synchronisiert ist oder nicht.
<!-- 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>