ضبابية الكاميرا

الخلفية الضبابية في الكاميرا هي تأثير ضبابي في عمق المجال يتم إنشاؤه عن طريق تمويه أجزاء من المشهد بحيث لا تكون في بؤرة التركيز. في الكاميرات المضمّنة في الأجهزة الجوّالة، يتم تطبيق تأثير "موهبة الصورة" باستخدام معلومات العمق التي يتم الحصول عليها من الرؤية المجسمة من كاميرتَين أو من ثنائي ثنائيات ضوئية (PD) في كاميرا واحدة.

بدءًا من الإصدار 11 من Android، يتيح نظام Android الأساسي استخدام ميزة "مؤثرات محو الخلفية" ويوفّر واجهات برمجة تطبيقات لإتاحة هذه الميزة للتطبيقات التابعة لجهات خارجية.

التنفيذ

لتفعيل ميزة "تأثير التمويه" في الكاميرا على جهازك، اتّبِع الخطوات التالية:

  • الإعلان ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES:

    تكون هذه العلامة بتنسيق صفيف ثلاثي الأعداد الصحيحة، مع كل مجموعة بتنسيق {mode, maxWidth, maxHeight}. بالإضافة إلى {ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}، يجب أن يُدرج HAL للكاميرا أيضًا أحد وضعَي ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE و ANDROID_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS أو كليهما مع الحد الأقصى لحجمَي البث المتوافقَين.

  • عرض الإعلانات ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:

    تكون هذه العلامة بتنسيق مصفوفة {minZoomRatio, maxZoomRatio}، التي تحتوي على جميع نطاقات نسبة التكبير لوضع المشهد الموسّع مفعّلًا، بالترتيب نفسه كما هو موضّح في ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES. إذا كان نطاق التكبير/التصغير هو [1.0, 1.0]، يعني ذلك أنّ ميزة التكبير/التصغير غير متاحة.

  • تعبئة ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE في ANDROID_CONTROL_AVAILABLE_MODES

لتفعيل ميزة الخلفية الضبابية في أي تطبيق، يجب ضبط السمة ANDROID_CONTROL_MODE على ANDROID_CONTROL_USE_EXTENDED_SCENE_MODE وANDROID_CONTROL_EXTENDED_SCENE_MODE على أحد أوضاع المشهد الممتدة المتوافقة. يُرجى العِلم أنّ تطبيق خلفية ضبابية قد يؤدي إلى زيادة استهلاك الذاكرة بسبب حساب استيريو.

إذا تعذّر تطبيق وضع متوافق للصور الممتدة لكل لقطة وتسبّب في تأخيرات غير متوقّعة عند تفعيله أو إيقافه، أدرِج ANDROID_CONTROL_EXTENDED_SCENE_MODE في ANDROID_REQUEST_AVAILABLE_SESSION_KEYS. في الوقت نفسه، نفِّذ أسلوب ICameraDeviceSession::isReconfigurationRequired() لتجنُّب إعادة الضبط لإعدادات أوضاع المشهد الموسّعة التي لا تتطلّب إعادة الضبط.

التحقُّق

للتحقق من صحة ميزة الضبابية على جهازك، يمكنك إجراء اختبارات CTS وVTS وCTS Verifier التالية:

  • CtsCameraTestCases
  • VtsHalCameraProviderV2_4TargetTest
  • CameraBokehTest في أداة إثبات الملكية CTS Verifier