EVS(Exterial View System) 1.1에서는 실제 카메라 기기 여러 개로 구성된 논리 카메라 기기가 지원됩니다. 이 가상 기기를 사용하려면 기기 구현이 동기화 프레임워크를 지원해야 합니다.
논리 카메라 기기 열거, 열기, 닫기
앱은 동일한 IEvsEnumerator
메서드를 사용하여 가용한 논리 카메라 기기를 사용할 수 있습니다. 논리 카메라 기기를 나타내는 반환된 EvsCamera
객체는 메타데이터에 다음 항목을 포함해야 합니다.
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
반환된 EvsCamera 객체가 논리 카메라를 나타내는 경우 카메라 메타데이터는ANDROID_REQUEST_AVAILABLE_CAPABILITIES
필드에 이 기능 키를 포함해야 합니다.ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS
필드는 실제 카메라 기기 식별자를 나열합니다.ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
필드에는 다음 enum 값 중 하나가 포함될 수 있습니다.ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE
: master-master 모드인 센서의 경우 하드웨어 셔터/노출이 동기화되지 않습니다.ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED
: master-slave 모드인 센서의 경우 하드웨어 셔터/노출이 동기화됩니다. 동기화된 GMSL2 카메라에는 이 값이 있어야 합니다.
앱은 새로운 getPhysicalCameraInfo(stringcameraId)
메서드에서 IEvsCamera
를 통해 실제 카메라 기기 관련 설명어를 검색할 수 있습니다.
/** * 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);
다중 카메라 지원 구성
모든 논리 카메라는 정적으로 정의해야 하고 구성 관리자 구현을 통해 열거해야 합니다. EVS를 통해 그룹의 각 기기를 다르게 구성할 수 있으므로 EVS는 구성원 기기 목록을 제공하고 이미지 캡처의 동기화 여부를 나타냅니다.
<!-- camera group 0 --> <group id='group0' synchronized='>;CALI<BRAT>ED' < caps !-- list of supported controls supported by all phy>sical dev<ices -- su>pported_contr<ols control name='BRIGHTNESS>' min=<9;0' max='255'/ co>ntrol nam<e='CONTRAST'>; min='<;0' max='255'/ /supported_controls !-- l>ist of st<ream configuration supported by all physical devices -- stream id>='<;0>9; wid<th='640' height=&>#39;4<80' format=>'RGBA<_8888' framerate='30'/ /caps !-- list of parameters -- characteristics parameter name='REQUEST_AVAILABLE_C>APABILITI<ES' type='enum' size='1' value='LOGICAL_MULTI_CAMERA' / parameter name=>'<LOGICAL_MULTI_CA>M<ERA_PH>YSICAL_IDS' type='byte[]' size='2' value='/dev/video3,/dev/video4' / /characteristics /group