Dış Görünüm Sistemi (EVS) 1.1'de, birden fazla fiziksel kamera cihazından oluşan mantıksal kamera cihazı desteklenir. Bu sanal cihazı kullanmak için cihaz uygulamalarının Senkronizasyon Çerçevesi'ni desteklemesi gerekir.
Mantıksal kamera cihazını sayma, açma ve kapatma
Uygulama, mevcut mantıksal kamera cihazlarını kullanmak için aynı IEvsEnumerator
yöntemleri kullanabilir. Mantıksal bir kamera cihazını temsil eden döndürülen EvsCamera
nesnesi, meta verilerde aşağıdaki öğeleri içermelidir:
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
İade edilen bir EvsCamera nesnesi mantıksal bir kamerayı temsil ediyorsa kamera meta verileri,ANDROID_REQUEST_AVAILABLE_CAPABILITIES
alanında bu özellik anahtarını içermelidir.ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS
alanında fiziksel kamera cihaz tanımlayıcıları listelenir.ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
alanına aşağıdaki enum değerlerinden biri atanabilir:ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE
ana-ana modundaki sensörler içindir, donanım deklanşör/örnekleme senkronizasyonu yoktur.ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED
ana-alt modundaki sensörler, donanım deklanşörü/örnekleme senkronizasyonu içindir. Senkronize edilmiş GMSL2 kameralarda bu değer olmalıdır.
Uygulama, yeni getPhysicalCameraInfo(stringcameraId)
yönteminde 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 üye cihazların listesini sağlar 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>