कैमरा बोकेह, शॉर्ट डेप्थ-ऑफ़-फ़ील्ड इफ़ेक्ट है. इसे किसी सीन के कुछ हिस्सों को धुंधला करके बनाया जाता है, ताकि वे फ़ोकस में न रहें. मोबाइल डिवाइस के कैमरों पर, दो कैमरों से स्टीरियो विज़न या एक कैमरे के ड्यूअल फ़ोटोडायोड (PD) से मिली डेप्थ की जानकारी का इस्तेमाल करके बोकेह किया जा सकता है.
Android 11 से, Android प्लैटफ़ॉर्म पर बोकेह इफ़ेक्ट का इस्तेमाल किया जा सकता है. साथ ही, तीसरे पक्ष के ऐप्लिकेशन के लिए यह सुविधा उपलब्ध कराने के लिए, एपीआई भी उपलब्ध कराए जाते हैं.
लागू करना
अपने डिवाइस पर कैमरे की बोकेह सुविधा को उपलब्ध कराने के लिए, यह तरीका अपनाएं:
ANDROID_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES
को विज्ञापन दें:यह टैग, तीन पूर्णांक वाले ट्यूपल ऐरे के फ़ॉर्मैट में होता है. इसमें हर ट्यूपल,
{mode, maxWidth, maxHeight}
के फ़ॉर्मैट में होता है.{ANDROID_CONTROL_EXTENDED_SCENE_MODE_DISABLED, 0, 0}
के अलावा, कैमरा एचएएल में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_AVAILABLE_MODES
मेंANDROID_CONTROL_USE_EXTENDED_SCENE_MODE
को पॉप्युलेट करें.
किसी ऐप्लिकेशन के लिए बोकेह की सुविधा को ट्रिगर करने के लिए, ऐप्लिकेशन को 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()
तरीका लागू करें, ताकि उन एक्सटेंडेड सीन मोड के लिए फिर से कॉन्फ़िगरेशन करने से बचा जा सके जिनके लिए फिर से कॉन्फ़िगरेशन करने की ज़रूरत नहीं है.
पुष्टि करें
अपने डिवाइस पर बोकेह की सुविधा की पुष्टि करने के लिए, नीचे दिए गए सीटीएस, वीटीएस, और सीटीएस की पुष्टि करने वाले टूल के टेस्ट चलाएं:
CtsCameraTestCases
VtsHalCameraProviderV2_4TargetTest
CameraBokehTest
in CTS Verifier