कैमरा बोकेह, शॉर्ट डेप्थ-ऑफ़-फ़ील्ड इफ़ेक्ट है. इसे किसी सीन के कुछ हिस्सों को धुंधला करके बनाया जाता है, ताकि वे फ़ोकस में न रहें. मोबाइल डिवाइसों के कैमरों पर, बोकेह इफ़ेक्ट पाने के लिए, दो कैमरों के स्टीरियो विज़न या एक कैमरे के ड्यूअल फ़ोटोडाइओड (PDs) से मिली डेप्थ की जानकारी का इस्तेमाल किया जाता है.
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_REQUEST_AVAILABLE_SESSION_KEYS
में ANDROID_CONTROL_EXTENDED_SCENE_MODE
शामिल करें. साथ ही, ICameraDeviceSession::isReconfigurationRequired()
तरीका लागू करें, ताकि उन एक्सटेंडेड सीन मोड के लिए फिर से कॉन्फ़िगरेशन करने से बचा जा सके जिनके लिए फिर से कॉन्फ़िगरेशन करने की ज़रूरत नहीं है.
पुष्टि करें
अपने डिवाइस पर बोकेह की सुविधा की पुष्टि करने के लिए, नीचे दिए गए सीटीएस, वीटीएस, और सीटीएस की पुष्टि करने वाले टूल के टेस्ट चलाएं:
CtsCameraTestCases
VtsHalCameraProviderV2_4TargetTest
- CTS Verifier में
CameraBokehTest