Dış Görünüm Sistemi (EVS) 1.1'de birden fazla fiziksel kamera cihazından oluşan mantıksal kamera cihazı desteklenmektedir. Bu sanal cihazı kullanmak için cihaz uygulamalarının Senkronizasyon Çerçevesini desteklemesi gerekir.
Mantıksal kamera cihazını numaralandırın, açın ve kapatın
Uygulama, mevcut mantıksal kamera cihazlarını kullanmak için aynı IEvsEnumerator
yöntemlerini kullanabilir. Mantıksal bir kamera aygıtını temsil eden döndürülen EvsCamera
nesnesi, meta verilerde aşağıdaki öğeleri içermelidir:
-
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
Döndürülen bir EvsCamera nesnesi mantıksal bir kamerayı temsil ediyorsa, kamera meta verilerininANDROID_REQUEST_AVAILABLE_CAPABILITIES
alanında bu yetenek anahtarını içermesi gerekir. -
ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS
alanı, fiziksel kamera cihazı tanımlayıcılarını listeler. -
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
alanı aşağıdaki numaralandırma değerlerinden birine sahip olabilir:-
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE
, ana-ana modundaki sensörler içindir, donanım deklanşör/pozlama senkronizasyonu yoktur. -
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED
, ana-bağımlı modundaki, donanım deklanşör/pozlama senkronizasyonundaki sensörler içindir. Senkronize GMSL2 kameralar bu değere sahip olmalıdır.
-
Uygulama, yeni getPhysicalCameraInfo(stringcameraId)
yöntemindeki IEvsCamera
aracılığıyla fiziksel kamera cihazlarının tanımlayıcısını alabilir.
/** * 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 bir yapılandırma yöneticisi uygulaması aracılığıyla numaralandırılması gerekir. EVS, gruptaki her cihazın farklı şekilde yapılandırılmasına izin verdiğinden EVS, üye cihazların bir listesini sağlar ve görüntü yakalamanın senkronize edilip edilmediğini gösterir.
<!-- 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>,
Dış Görünüm Sistemi (EVS) 1.1'de birden fazla fiziksel kamera cihazından oluşan mantıksal kamera cihazı desteklenmektedir. Bu sanal cihazı kullanmak için cihaz uygulamalarının Senkronizasyon Çerçevesini desteklemesi gerekir.
Mantıksal kamera cihazını numaralandırın, açın ve kapatın
Uygulama, mevcut mantıksal kamera cihazlarını kullanmak için aynı IEvsEnumerator
yöntemlerini kullanabilir. Mantıksal bir kamera aygıtını temsil eden döndürülen EvsCamera
nesnesi, meta verilerde aşağıdaki öğeleri içermelidir:
-
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
Döndürülen bir EvsCamera nesnesi mantıksal bir kamerayı temsil ediyorsa, kamera meta verilerininANDROID_REQUEST_AVAILABLE_CAPABILITIES
alanında bu yetenek anahtarını içermesi gerekir. -
ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS
alanı, fiziksel kamera cihazı tanımlayıcılarını listeler. -
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
alanı aşağıdaki numaralandırma değerlerinden birine sahip olabilir:-
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE
, ana-ana modundaki sensörler içindir, donanım deklanşör/pozlama senkronizasyonu yoktur. -
ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED
, ana-bağımlı modundaki, donanım deklanşör/pozlama senkronizasyonundaki sensörler içindir. Senkronize GMSL2 kameralar bu değere sahip olmalıdır.
-
Uygulama, yeni getPhysicalCameraInfo(stringcameraId)
yöntemindeki IEvsCamera
aracılığıyla fiziksel kamera cihazlarının tanımlayıcısını alabilir.
/** * 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 bir yapılandırma yöneticisi uygulaması aracılığıyla numaralandırılması gerekir. EVS, gruptaki her cihazın farklı şekilde yapılandırılmasına izin verdiğinden EVS, üye cihazların bir listesini sağlar ve görüntü yakalamanın senkronize edilip edilmediğini gösterir.
<!-- 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>