إتاحة استخدام كاميرات متعدّدة

في الإصدار 1.1 من نظام الرؤية الخارجية (EVS)، وهو جهاز الكاميرا المنطقي الذي يتألف من يتوافق مع العديد من أجهزة الكاميرا الفعلية. لاستخدام هذا الجهاز الافتراضي عمليات التنفيذ يجب أن تدعم المزامنة إطار العمل:

تعداد جهاز الكاميرا المنطقي وفتحه وإغلاقه

يمكن للتطبيق استخدام طُرق IEvsEnumerator نفسها لاستخدام أجهزة الكاميرا المنطقية المتوفرة. عنصر EvsCamera الذي تم عرضه، جهاز كاميرا منطقي، يجب أن يحتوي على العناصر التالية في البيانات الوصفية:


  • ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA إذا كان عنصر Evs Camera الذي تم إرجاعه يمثّل كاميرا منطقية، ستظهر البيانات الوصفية الخاصة بالكاميرا. أن يحتوي على مفتاح الإمكانية هذا في ANDROID_REQUEST_AVAILABLE_CAPABILITIES .
  • ANDROID_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS المعرّفات المادية لأجهزة الكاميرا.
  • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE يمكن أن يحتوي الحقل على أيٍ من قيم التعداد التالية:
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE لأجهزة الاستشعار في الوضع الرئيسي، بدون مزامنة للغالق/التعرض للضوء.
    • ANDROID_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED لأجهزة الاستشعار في وضع العبيد الرئيسي ومزامنة الصور/التعرض للضوء. يجب أن تحتوي كاميرات GMSL2 المتزامنة على هذه القيمة.

يمكن للتطبيق استرداد واصف لأجهزة الكاميرا الفعلية من خلال "IEvsCamera" في 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);

ضبط التوافق مع كاميرات متعدّدة

يجب تحديد جميع الكاميرات المنطقية بشكل ثابت ويجب من خلال تنفيذ مدير التهيئة. نظرًا لأن EVS تسمح لكل الجهاز في المجموعة ليتم تكوينه بشكل مختلف، توفر EVS قائمة بأعضاء وتشير إلى ما إذا كانت عملية التقاط الصورة متزامنة أم لا.

<!-- 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>