मुख्य कंटेंट तक स्किप करें

अध्याय 15: फोकस (Focus)

एक्सपोज़र ब्राइटनेस को नियंत्रित करता है। फोकस नियंत्रित करता है कि क्या शार्प (sharp) है। इस अध्याय में, आप सीखेंगे कि स्मार्टफोन फोकस सिस्टम कैसे काम करते हैं, Camera2 के माध्यम से ऑटो फोकस (AF) को कैसे चलाया जाए, और LENS_FOCUS_DISTANCE का उपयोग करके मैनुअल फोकस स्लाइडर कैसे बनाया जाए।

Android Camera Parameters ऐप अपने फोकस पैनल में यह सब दिखाता है — आप AF स्टेट मशीन के ट्रांज़िशन को लाइव देख सकते हैं।

स्मार्टफोन में AF तंत्र (Focus Mechanisms)

  1. Contrast-Detect AF (CDAF): इमेज फ्रेम का विश्लेषण करें और अधिकतम कंट्रास्ट खोजें। यह थोड़ा धीमा होता है क्योंकि लेंस को "हंट (hunt)" करना पड़ता है।
  2. Phase-Detect AF (PDAF): सेंसर पर विशेष पिक्सेल सीधे मापते हैं कि लेंस को कहाँ जाना है। यह बहुत तेज़ होता है।
  3. Laser AF / ToF AF: एक इंफ्रारेड लेजर पल्स विषय की दूरी को मापता है। यह अंधेरे में भी बहुत तेज़ होता है।

AF मोड: CONTROL_AF_MODE

मोडव्यवहारउपयोग का मामला
OFFकोई AF नहीं। आप मैनुअल फोकस सेट करते हैं।मैनुअल फोकस
AUTOवन-शॉट AF। ट्रिगर करने पर एक बार स्कैन करता है और लॉक हो जाता है।फोटो
CONTINUOUS_PICTUREलगातार फोकस करता रहता है, लेकिन फोटो लेते समय रुक जाता है।फोटोग्राफी डिफॉल्ट
CONTINUOUS_VIDEOलगातार फोकस करता है — कभी नहीं रुकता।वीडियो

AF स्टेट मशीन (The AF State Machine)

फोटो लेने के लिए सबसे महत्वपूर्ण स्टेट FOCUSED_LOCKED है। स्थिर फोटोग्राफी के लिए नियम: कभी भी तब तक फोटो न लें जब तक आप FOCUSED_LOCKED (या NOT_FOCUSED_LOCKED विफलता के मामले में) न देख लें।

फोकस दूरी: मीटर नहीं, डायोप्टर (Diopters)

Camera2 में LENS_FOCUS_DISTANCE डायोप्टर (D) का उपयोग करता है, मीटर का नहीं। डायोप्टर फोकस दूरी का व्युत्क्रम (reciprocal) है: Focus Distance (meters) = 1.0 / Diopters

डायोप्टरभौतिक फोकस दूरी
0.0अनंत (Infinity - ∞)
1.01 मीटर
5.00.2 मीटर (20 सेमी)
10.00.1 मीटर (10 सेमी)

हाइपरफोकल दूरी (Hyperfocal Distance)

स्मार्टफोन के लिए LENS_FOCUS_DISTANCE = 2.0D (50 सेमी फोकस) सेट करना अधिकांश परिदृश्यों के लिए "सब कुछ शार्प" रखने का अच्छा तरीका है।

उदाहरण 1: वन-शॉट AF ट्रिगर और कैप्चर

लक्ष्य: शटर दबाने पर AF को लॉक करना और फिर फोटो लेना।

  1. AF ट्रिगर शुरू करें: CONTROL_AF_TRIGGER_START भेजें।
  2. स्टेट चेक करें: CONTROL_AF_STATE के FOCUSED_LOCKED होने का इंतज़ार करें।
  3. फोटो लें: TEMPLATE_STILL_CAPTURE सबमिट करें।
  4. रिलीज़ करें: फोटो के बाद CONTROL_AF_TRIGGER_CANCEL भेजें और वापस continuous मोड में जाएँ।

उदाहरण 2: मैनुअल फोकस स्लाइडर

एक SeekBar के माध्यम से LENS_FOCUS_DISTANCE को 0.0D से LENS_INFO_MINIMUM_FOCUS_DISTANCE तक नियंत्रित किया जा सकता है।

  • थ्रॉटल (Throttle): स्लाइडर अपडेट को ~30fps तक सीमित रखें ताकि सिस्टम पर बोझ न पड़े।
  • मोड: स्लाइडर हिलाते समय CONTROL_AF_MODE = OFF सेट करें ताकि ऑटो फोकस आपके मैनुअल सेटिंग से न लड़े।

टच-टू-फोकस (Focus Regions)

आप CONTROL_AF_REGIONS का उपयोग करके स्क्रीन पर टैप किए गए हिस्से पर फोकस कर सकते हैं। प्रो टिप: बेहतर परिणाम के लिए इसके साथ CONTROL_AE_REGIONS (एक्सपोज़र) को भी उसी जगह सेट करें।

सारांश (Summary)

  • AF मोड: AUTO, CONTINUOUS, और OFF (मैन्युअल)।
  • स्टेट्स: कैप्चर से पहले FOCUSED_LOCKED का इंतज़ार करें।
  • डायोप्टर: 0.0D का मतलब अनंत है।
  • हाइपरफोकल: लैंडस्केप के लिए ~2.0D एक अच्छा डिफॉल्ट है।

आगे क्या है

ब्राइटनेस और शार्पनेस के बाद अब रंग की बारी है। अध्याय 16: व्हाइट बैलेंस और रंग में, हम AWB मोड और कलर ट्रांसफ़ॉर्म के बारे में सीखेंगे।