कैमरा ITS परीक्षण

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

यह पृष्ठ कैमरा इमेज टेस्ट सूट (आईटीएस) के तहत परीक्षणों की एक व्यापक सूची प्रदान करता है, जो एंड्रॉइड संगतता परीक्षण सूट (सीटीएस) सत्यापनकर्ता का हिस्सा है। आईटीएस परीक्षण कार्यात्मक परीक्षण हैं, जिसका अर्थ है कि वे छवि गुणवत्ता को मापते नहीं हैं, लेकिन यह कि सभी विज्ञापित कैमरा फ़ंक्शन अपेक्षा के अनुरूप काम कर रहे हैं। यह दस्तावेज़ डेवलपर्स और परीक्षकों को यह समझने देता है कि व्यक्तिगत परीक्षण क्या करते हैं और परीक्षण विफलताओं को कैसे डिबग करना है।

टेस्ट को दृश्य द्वारा समूहीकृत किया जाता है:

  • दृश्य 0 : मेटाडेटा, जिटर, जायरोस्कोप, कंपन कैप्चर करें
  • दृश्य 1 : एक्सपोजर, संवेदनशीलता, ईवी मुआवजा, वाईयूवी बनाम जेपीईजी / रॉ
  • दृश्य 2: चेहरे का पता लगाना
  • दृश्य 3: एज एन्हांसमेंट, लेंस मूवमेंट
  • दृश्य 4 : पहलू अनुपात, फसल, क्षेत्र का दृश्य
  • दृश्य5 : लेंस छायांकन
  • दृश्य 6 : ज़ूम
  • sensor_fusion : कैमरा/जाइरोस्कोप समय ऑफसेट

प्रत्येक दृश्य के विवरण के लिए अलग-अलग अनुभाग देखें।

दृश्य0

दृश्य 0 परीक्षणों के लिए किसी विशिष्ट दृश्य जानकारी की आवश्यकता नहीं होती है। हालाँकि, जाइरोस्कोप और कंपन परीक्षण के लिए फोन स्थिर होना चाहिए।

टेस्ट_बर्स्ट_कैप्चर

सत्यापित करता है कि संपूर्ण कैप्चर पाइपलाइन पूर्ण आकार कैप्चर और CPU समय की गति के साथ बनी रह सकती है।

एपीआई का परीक्षण किया गया:

पास: पूर्ण आकार की छवियों का एक विस्फोट कैप्चर करता है और टाइमआउट से बचने के लिए कैमरा पर्याप्त तेज़ है।

test_capture_result_dump

परीक्षण करता है कि एक कैप्चर परिणाम मैन्युअल कैप्चर से लौटाया जाता है और फिर उसे डंप करता है।

एपीआई का परीक्षण किया गया:

पास: कैप्चर पूरा करता है और कैप्चर परिणामों को डंप करता है।

test_gyro_bias

परीक्षण करें कि क्या डिवाइस के स्थिर होने पर जाइरो का स्थिर आउटपुट है। डेटा को औसतन 20 डेटा बिंदुओं के रूप में प्लॉट किया जाता है।

एपीआई का परीक्षण किया गया:

पास: जाइरो रीडिंग का डेल्टा समय के साथ 0.01 से कम है।

test_gyro_bias_plot.png

test_gyro_bias_plot.png

टेस्ट_जिटर

कैमरा टाइमस्टैम्प में घबराहट को मापता है।

एपीआई का परीक्षण किया गया:

पास: फ़्रेम के बीच कम से कम 30 ms का डेल्टा है।

test_jitter_plot.png

test_jitter_plot.png (छोटे y-अक्ष श्रेणी पर ध्यान दें। इस भूखंड में जिटर वास्तव में छोटा है।)

टेस्ट_मेटाडेटा

मेटाडेटा प्रविष्टियों की वैधता का परीक्षण करता है। कैप्चर परिणामों और कैमरे की विशेषताओं वाली वस्तुओं को देखता है। यह परीक्षण auto_capture_request एक्सपोज़र का उपयोग करता है और मान प्राप्त करता है क्योंकि छवि सामग्री महत्वपूर्ण नहीं है।

एपीआई का परीक्षण किया गया:

पास: हार्डवेयर स्तर, rollingShutterSkew , frameDuration टैग, timestampSource स्रोत, croppingType टाइप, blackLevelPattern , pixel_pitch , एफओवी, हाइपरफोकल दूरी मौजूद हैं और वैध मान हैं।

test_param_sensitivity_burst

परीक्षण करता है कि android.sensor.sensitivity पैरामीटर बर्स्ट में ठीक से लागू होता है। केवल आउटपुट मेटाडेटा का निरीक्षण करता है।

एपीआई का परीक्षण किया गया:

पास: आउटपुट डेटा में 0.2% से कम की त्रुटि सहनशीलता है।

टेस्ट_रीड_राइट

परीक्षण करें कि डिवाइस सही एक्सपोज़र लिखता है और कैप्चर मेटाडेटा को वापस पढ़कर मान प्राप्त करता है।

एपीआई का परीक्षण किया गया:

पास: पढ़ें और लिखें मान सभी शॉट्स में मेल खाते हैं।

test_sensor_events

परीक्षण करता है कि डिवाइस क्वेरी करता है और सेंसर फ़्यूज़न समर्थन का विज्ञापन करने वाले उपकरणों के लिए सेंसर ईवेंट का प्रिंट आउट लेता है। अपेक्षित सेंसर एक्सेलेरोमीटर, जायरोस्कोप और मैग्नेटोमीटर हैं। यह परीक्षण केवल तभी काम करता है जब स्क्रीन चालू हो, जिसका अर्थ है कि डिवाइस स्टैंडबाय मोड में नहीं है।

एपीआई का परीक्षण किया गया:

पास: प्रत्येक सेंसर के लिए ईवेंट प्राप्त होते हैं।

टेस्ट_सॉलिड_कलर_टेस्ट_पैटर्न

परीक्षण कि कैमरा म्यूटिंग के लिए ठोस रंग परीक्षण पैटर्न ठीक से उत्पन्न होते हैं। यदि कैमरा म्यूटिंग समर्थित है, तो ठोस रंग परीक्षण पैटर्न समर्थित होने चाहिए। यदि कैमरा म्यूटिंग समर्थित नहीं है, तो ठोस रंग परीक्षण पैटर्न का परीक्षण केवल तभी किया जाता है जब क्षमता का विज्ञापन किया गया हो।

यदि रॉ छवियों का समर्थन किया जाता है, तो रंग असाइनमेंट का भी परीक्षण किया जाता है। परीक्षण किए गए रंग काले, सफेद, लाल, नीले और हरे हैं। रॉ छवियों का समर्थन नहीं करने वाले कैमरों के लिए, केवल काले रंग का परीक्षण किया जाता है।

एपीआई का परीक्षण किया गया:

पास: समर्थित ठोस परीक्षण पैटर्न सही रंग हैं और छवि में कम भिन्नता है।

टेस्ट_टेस्ट_पैटर्न

प्रत्येक मान्य परीक्षण पैटर्न के लिए फ़्रेम कैप्चर करने के लिए android.sensor.testPatternMode पैरामीटर का परीक्षण करता है और जाँचता है कि फ़्रेम ठोस रंगों और रंग पट्टियों के लिए सही ढंग से उत्पन्न हुए हैं। इस परीक्षण में निम्नलिखित चरण शामिल हैं:

  1. सभी समर्थित परीक्षण पैटर्न के लिए छवियों को कैप्चर करता है।
  2. ठोस रंग परीक्षण पैटर्न और रंग पट्टियों के लिए एक सरल शुद्धता जांच करता है।

एपीआई का परीक्षण किया गया:

पास: समर्थित परीक्षण पैटर्न सही ढंग से उत्पन्न होते हैं।

test_test_patterns_2

test_test_patterns_2.jpg

test_tonemap_curve

रैखिक टोनमैप के साथ रॉ से YUV में परीक्षण पैटर्न का परीक्षण रूपांतरण। टोनमैप रूपांतरण के लिए एक आदर्श छवि पैटर्न उत्पन्न करने के लिए इस परीक्षण के लिए android.sensor.testPatternMode = 2 (COLOR_BARS) की आवश्यकता होती है। सुनिश्चित करता है कि पाइपलाइन में रैखिक टोनमैप और आदर्श छवि इनपुट के साथ उचित रंग आउटपुट हैं ( test_test_patterns पर निर्भर करता है)।

एपीआई का परीक्षण किया गया:

पास: YUV और RAW एक-दूसरे से मिलते-जुलते हैं।

test_tonemap_curve_raw_2

test_tonemap_curve_raw_2.jpg

test_tonemap_curve_yuv_2.jpg

test_tonemap_curve_yuv_2.jpg

test_unified_timestamp

परीक्षण करें कि क्या छवि और गति संवेदक ईवेंट एक ही समय डोमेन में हैं।

एपीआई का परीक्षण किया गया:

पास: मोशन टाइमस्टैम्प दो इमेज टाइमस्टैम्प के बीच होते हैं।

test_vibration_restriction

परीक्षण करें कि क्या डिवाइस का कंपन अपेक्षानुसार कार्य कर रहा है।

एपीआई का परीक्षण किया गया:

पास: कैमरा ऑडियो प्रतिबंध API द्वारा म्यूट किए जाने पर डिवाइस कंपन नहीं करता है।

दृश्य 1

दृश्य 1 एक ग्रे चार्ट है। ग्रे चार्ट को कैमरे के देखने के क्षेत्र के 30% केंद्र को कवर करना चाहिए। ग्रे चार्ट से 3ए (ऑटो एक्सपोजर, ऑटो व्हाइट बैलेंस, ऑटो फोकस) को मध्यम रूप से चुनौती देने की उम्मीद है क्योंकि मध्य क्षेत्र में कोई विशेषता नहीं है। हालाँकि, कैप्चर अनुरोध पूरे दृश्य को निर्दिष्ट करता है जिसमें 3A को अभिसरण करने के लिए पर्याप्त सुविधाएँ शामिल हैं।

RFoV कैमरों का परीक्षण WFoV या RFoV परीक्षण रिग में किया जा सकता है। यदि WFoV परीक्षण रिग में RFoV कैमरे का परीक्षण किया जाता है, तो चार्ट को द्वारा बढ़ाया जाता है ताकि FoV में ग्रे चार्ट के लिए कुछ सीमाएं सुनिश्चित की जा सकें ताकि 3A अभिसरण में मदद मिल सके।

दृश्य 1

दृश्य 1: पूर्ण आकार चार्ट (बाएं)। स्केल चार्ट (दाएं)।

टेस्ट_3ए

मामूली चुनौतीपूर्ण लक्ष्य के साथ 3ए के अभिसरण का परीक्षण करता है।

एपीआई का परीक्षण किया गया:

पास: 3A अभिसरण करता है और लौटाए गए 3A मान मान्य होते हैं।

test_ae_af

व्यक्तिगत रूप से 3A ऑटो एक्सपोज़र (AE) और ऑटो फ़ोकस (AF) एल्गोरिदम का परीक्षण करता है।

एपीआई का परीक्षण किया गया:

पास: 3A अभिसरण करता है और लौटाए गए 3A मान कानूनी हैं।

test_ae_precapture_trigger

प्रीकैप्चर ट्रिगर का उपयोग करते समय एई राज्य मशीन का परीक्षण करता है। AE अक्षम के साथ पाँच मैन्युअल अनुरोधों को कैप्चर करता है। अंतिम अनुरोध में AE प्रीकैप्चर ट्रिगर है, जिसे अनदेखा किया जाना चाहिए क्योंकि AE अक्षम है।

एपीआई का परीक्षण किया गया:

पास: AE अभिसरण करता है।

test_auto_vs_manual

ऑटो और मैन्युअल शॉट लेने वाले टेस्ट एक जैसे दिखते हैं।

एपीआई का परीक्षण किया गया:

पास: कैमरे के 3ए एल्गोरिथम से ऑटो व्हाइट बैलेंस estimate के साथ प्रत्येक कैप्चर परिणाम मैच में मैन्युअल श्वेत संतुलन लाभ और परिवर्तन की सूचना दी गई।

test_auto_vs_manual_auto

test_auto_vs_manual_auto.jpg

test_auto_vs_manual_wb

test_auto_vs_manual_wb.jpg

test_auto_vs_manual_manual_wb_tm

test_auto_vs_manual_manual_wb_tm.jpg

टेस्ट_ब्लैक_व्हाइट

परीक्षण करता है कि डिवाइस पूर्ण श्वेत और श्याम चित्र बनाता है। दो कैप्चर लेता है, पहला बेहद कम लाभ और कम एक्सपोज़र के साथ, जिसके परिणामस्वरूप एक काली तस्वीर होती है, और दूसरी अत्यधिक उच्च लाभ और लंबी एक्सपोज़र के साथ, जिसके परिणामस्वरूप एक सफेद तस्वीर होती है।

एपीआई का परीक्षण किया गया:

पास: श्वेत और श्याम चित्र बनाता है। सफेद छवियों के संतृप्त चैनलों में 1% से कम अंतर की त्रुटि के मार्जिन के साथ [255, 255, 255] के आरजीबी मूल्य हैं।

टेस्ट_ब्लैक_व्हाइट_ब्लैकटेस्ट_ब्लैक_व्हाइट_ब्लैक
टेस्ट_ब्लैक_व्हाइट_ब्लैक.jpg test_black_white_white.jpg

टेस्ट_ब्लैक_व्हाइट_प्लॉट_मीन्स

test_black_white_plot_means.png

test_burst_sameness_manual

मैन्युअल कैप्चर सेटिंग के साथ 50 छवियों के 5 बर्स्ट लेता है और जांचता है कि वे सभी समान हैं। इस परीक्षण का उपयोग यह पहचानने के लिए किया जा सकता है कि क्या छिटपुट फ्रेम हैं जिन्हें अलग तरह से संसाधित किया जाता है या उनमें कलाकृतियां हैं।

एपीआई का परीक्षण किया गया:

पास: छवियाँ नेत्रहीन और RGB मानों में समान हैं।

विफल: प्रत्येक बर्स्ट की शुरुआत में RGB औसत चार्ट का एक स्पाइक या ड्रॉप दिखाता है

  • first_API_level <30 . के लिए सहिष्णुता 3% है
  • first_API_level >= 30 . के लिए सहिष्णुता 2% है

test_burst_sameness_manual_mean

test_burst_sameness_manual_mean.jpg

test_burst_sameness_manual_plot_means

test_burst_sameness_manual_plot_means.png

टेस्ट_कैप्चर_परिणाम

परीक्षण कि वैध डेटा CaptureResult ऑब्जेक्ट्स में वापस आता है। एक ऑटो, मैनुअल और ऑटो कैप्चर करता है।

एपीआई का परीक्षण किया गया:

पास: मेटाडेटा सभी कैप्चर के लिए मान्य है और मैन्युअल सेटिंग्स दूसरे ऑटो कैप्चर में लीक नहीं होती हैं। कैप्चर के लिए लेंस शेडिंग करेक्शन को प्लॉट करें।

test_capture_result_plot_lsc_auto_ch0

test_capture_result_plot_lsc_auto_ch0.png

test_crop_region_raw

परीक्षण कि रॉ स्ट्रीम क्रॉप करने योग्य नहीं हैं।

एपीआई का परीक्षण किया गया:

पास: YUV इमेज सेंटर-क्रॉप्ड होती हैं लेकिन RAW इमेज नहीं।

test_crop_region_raw_comp_raw_crop

test_crop_region_raw_comp_raw_crop.jpg

test_crop_region_raw_comp_raw_full

test_crop_region_raw_comp_raw_full.jpg

test_crop_region_raw_comp_yuv_crop

test_crop_region_raw_comp_yuv_crop.jpg

test_crop_region_raw_yuv_full

test_crop_region_raw_yuv_full.jpg

test_crop_regions

परीक्षण कि फसल क्षेत्र काम करते हैं। एक पूरी छवि लेता है और 5 अलग-अलग क्षेत्रों (कोनों और केंद्र) के पैच बनाता है। 5 क्षेत्रों के लिए फसल सेट के साथ चित्र लेता है। पैच और फसल छवि मूल्यों की तुलना करता है।

एपीआई का परीक्षण किया गया:

पास: क्रॉप किए गए क्षेत्र की छवि उस पैच से मेल खाती है जो क्रॉप इमेज से मेल खाती है।

test_dng_noise_model

सत्यापित करता है कि डीएनजी कच्चे मॉडल पैरामीटर सही हैं। प्लॉट संवेदनशीलता की एक सीमा पर कैप्चर किए गए कच्चे शॉट्स में ग्रे कार्ड के केंद्र पैच के मापा विचरण को दर्शाता है, और इन मानों की तुलना उस विचरण के साथ करता है जो कैमरा एचएएल में डीएनजी शोर मॉडल द्वारा प्रत्येक संवेदनशीलता पर अपेक्षित है (के आधार पर) ओ, एस पैरामीटर कैप्चर परिणाम ऑब्जेक्ट में वापस आ गए)। DNG नॉइज़ मॉडल के बारे में अधिक जानकारी के लिए, DNG नॉइज़ मॉडल पर निम्न दस्तावेज़ डाउनलोड करें।

एपीआई का परीक्षण किया गया:

पास: डीएनजी कच्चे मॉडल पैरामीटर सही हैं। अपेक्षित RGB मान मापे गए वास्तविक RGB मानों से मेल खाते हैं।

test_dng_noise_model_plog

test_dng_noise_model_plog.png

test_ev_compensation_advanced

परीक्षण करता है कि एक्सपोज़र वैल्यू (ईवी) कंपंसेशन लागू किया गया है। परीक्षण आठ चरणों में जोखिम बढ़ाता है, और मापी गई चमक बनाम अपेक्षित चमक की जांच करता है। अपेक्षित मानों की गणना छवि की छवि चमक से की जाती है, जिसमें कोई EV क्षतिपूर्ति लागू नहीं होती है और यदि परिकलित मान वास्तविक छवि मान सीमा से अधिक हो जाते हैं तो अपेक्षित मान संतृप्त हो जाएगा। यदि अपेक्षित मान और मापे गए मान मेल नहीं खाते हैं या पांच चरणों में छवियां ओवरएक्सपोज़ होती हैं तो परीक्षण विफल हो जाता है।

एपीआई का परीक्षण किया गया:

पास: छवियाँ पाँच चरणों में बिना ज़्यादा एक्सपोज़र के बढ़ा हुआ एक्सपोज़र दिखाती हैं।

test_ev_compensation_advanced_plot_means

test_ev_compensation_advanced_plot_means.png

test_ev_compensation_basic

परीक्षण करें कि CONTROL_AE_COMPENSATION_STEP के साथ बनाई गई श्रेणी का उपयोग करके EV कंपंसेशन लागू किया गया है। प्रत्येक क्षतिपूर्ति मूल्य पर आठ फ़्रेम कैप्चर किए जाते हैं।

एपीआई का परीक्षण किया गया:

पास: बढ़ी हुई EV कंपंसेशन सेटिंग के साथ ल्यूमा में वृद्धि कैप्चर करता है, और प्रत्येक EV कंपंसेशन सेटिंग के लिए कैप्चर किए गए आठ फ़्रेम में स्थिर लूमा मान होते हैं।

test_ev_compensation_basic

test_ev_compensation_basic.png

टेस्ट_एक्सपोज़र

परीक्षण कि आईएसओ के रूप में एक निरंतर एक्सपोजर प्राप्त किया जाता है और एक्सपोजर समय भिन्न होता है। शॉट्स की एक श्रृंखला लेता है जिसमें आईएसओ और एक्सपोजर समय एक दूसरे को संतुलित करने के लिए चुना जाता है। परिणामों में समान चमक होनी चाहिए, लेकिन क्रम में छवि को शोर होना चाहिए। नमूना पिक्सेल माध्य मान एक दूसरे के करीब हैं सत्यापित करता है। सुनिश्चित करता है कि छवियों को 0 या 1 से जकड़ा नहीं गया है (जो उन्हें सपाट रेखाओं की तरह दिखाई देगा)। आपकी कॉन्फ़िगरेशन फ़ाइल में debug फ़्लैग सेट करके परीक्षण को RAW छवियों के साथ भी चलाया जा सकता है।

एपीआई का परीक्षण किया गया:

पास: छवियों में समान चमक होती है, लेकिन उच्च आईएसओ के साथ शोर होता है। आरजीबी विमान सपाट होते हैं जब आईएसओ * एक्सपोजर का मूल्य परीक्षण किए गए लाभ स्थान पर स्थिर होता है।

test_exposure_plot_means

test_exposure_plot_means.png

test_exposure_multi=1.00test_exposure_multi=64.00
test_exposure_multi=1.00.jpg test_exposure_multi=64.00.jpg

टेस्ट_जेपीईजी

परीक्षण जो YUV छवियों और डिवाइस JPEG छवियों को परिवर्तित करते हैं वे समान दिखते हैं। परीक्षण छवि का 10% केंद्र लेता है और RGB मान की गणना करता है, और सत्यापित करता है कि वे मेल खाते हैं।

एपीआई का परीक्षण किया गया:

पास: प्रत्येक छवि के बीच औसत RGB अंतर 3% से कम है।

test_jpeg_fmt=jpg.jpgtest_jpeg=fmt=yuv.jpg
test_jpeg_fmt=jpg.jpg test_jpeg=fmt=yuv.jpg

टेस्ट_लैचिंग

परीक्षण कि सेटिंग (एक्सपोज़र और गेन) FULL और LEVEL_3 कैमरों के लिए सही फ़्रेम पर टिकी हैं। बैक-टू-बैक अनुरोधों का उपयोग करके शॉट्स की एक श्रृंखला लेता है, शॉट्स के बीच कैप्चर अनुरोध पैरामीटर को बदलता है। जाँचता है कि छवियों में अपेक्षित गुण हैं।

एपीआई का परीक्षण किया गया:

पास: छवियां [2, 3, 6, 8, 10, 12, 13] ने आईएसओ या एक्सपोज़र बढ़ा दिया है और उच्च आरजीबी साधनों के साथ test_latching_plot_means.png पर दिखाई देता है।

test_latching_i=00.jpgtest_latching_i=01.jpgtest_latching_i=02.jpg
test_latching_i=00.jpg test_latching_i=01.jpg test_latching_i=02.jpg
test_latching_i=03.jpgtest_latching_i=04.jpgtest_latching_i=05.jpg
test_latching_i=03.jpg test_latching_i=04.jpg test_latching_i=05.jpg
test_latching_i=06.jpgtest_latching_i=07.jpgtest_latching_i=08.jpg
test_latching_i=06.jpg test_latching_i=07.jpg test_latching_i=08.jpg
test_latching_i=09.jpgtest_latching_i=10.jpgtest_latching_i=11.jpg
test_latching_i=09.jpg test_latching_i=10.jpg test_latching_i=11.jpg
test_latching_i=12.jpg
test_latching_i=12.jpg

test_latching_plot_means

test_latching_plot_means.png

परीक्षण_रैखिकता

परीक्षण कि डिवाइस प्रोसेसिंग को रैखिक पिक्सल में उलटा किया जा सकता है। एक समान लक्ष्य पर इंगित डिवाइस के साथ शॉट्स के अनुक्रम को कैप्चर करता है।

एपीआई का परीक्षण किया गया:

पास: आर, जी, बी मान बढ़ी हुई संवेदनशीलता के साथ रैखिक रूप से बढ़ना चाहिए।

test_linearity_plot_means

test_linearity_plot_means.png

test_locked_burst

परीक्षण 3A लॉक और YUV बर्स्ट (ऑटो सेटिंग का उपयोग करके)। यह परीक्षण उन सीमित उपकरणों पर भी पास करने के लिए डिज़ाइन किया गया है जिनमें MANUAL_SENSOR या PER_FRAME_CONTROLS नहीं है। परीक्षण YUV छवि स्थिरता की जाँच करता है जबकि फ़्रेम दर जाँच CTS में होती है।

एपीआई का परीक्षण किया गया:

पास: कैप्चर सुसंगत दिखते हैं।

test_locked_burst_frame0

test_locked_burst_frame0.jpg

test_locked_burst_frame1

test_locked_burst_frame1.jpg

test_locked_burst_frame2

test_locked_burst_frame2.jpg

टेस्ट_मल्टी_कैमरा_मैच

यह देखने के लिए परीक्षण करें कि क्या उपकरणों पर बहु ​​कैमरे ग्रे पैच के लिए समान RGB मान देते हैं।

एपीआई का परीक्षण किया गया:

पास: अलग-अलग कैमरे एक ही ग्रे पैच के लिए समान RGB मान उत्पन्न करते हैं।

test_multi_camera+match_yuv_fl=4.38

test_multi_camera+match_yuv_fl=4.38.jpg

परीक्षण_परम_रंग_सुधार

परीक्षण करता है कि android.colorCorrection.* पैरामीटर सेट होने पर लागू होते हैं। विभिन्न रूपांतरणों के साथ शॉट लेता है और मूल्य प्राप्त करता है, और परीक्षण करता है कि वे संगत रूप से भिन्न दिखते हैं। आउटपुट को तेजी से लाल या नीला बनाने के लिए परिवर्तन और लाभ को चुना जाता है। एक रैखिक टोनमैप का उपयोग करता है। टोन मैपिंग एक ऐसी तकनीक है जिसका उपयोग इमेज प्रोसेसिंग में रंगों के एक सेट को दूसरे में मैप करने के लिए किया जाता है ताकि एक ऐसे माध्यम में उच्च-गतिशील-रेंज छवियों की उपस्थिति का अनुमान लगाया जा सके जिसमें अधिक सीमित गतिशील रेंज हो।

एपीआई का परीक्षण किया गया:

पास: परिवर्तन के अनुसार R और B मान बढ़ते हैं।

टेस्ट_परम_रंग_करेक्शन_प्लॉट_मीन्स

टेस्ट_परम_रंग_करेक्शन_प्लॉट_मीन्स.पीएनजी

* एक्स-अक्ष कैप्चर अनुरोध है: 0 = एकता, 1 = लाल बढ़ावा, 2 = नीला बढ़ावा

टेस्ट_परम_रंग_करेक्शन_रेक = 0

टेस्ट_परम_रंग_करेक्शन_रेक=0.jpg

टेस्ट_परम_रंग_करेक्टनेस_रेक=1

test_param_color_correctness_req=1.jpg (आर बूस्ट)

टेस्ट_परम_रंग_करेक्शन_रेक=2

test_param_color_correction_req=2.jpg (बी बूस्ट)

टेस्ट_परम_एक्सपोज़र_टाइम

परीक्षण करता है कि android.sensor.exposureTime पैरामीटर लागू किया गया है।

एपीआई का परीक्षण किया गया:

पास: प्रत्येक शॉट पिछले शॉट की तुलना में उज्जवल है।

test_param_exposure_time_frame0

test_param_exposure_time_frame0.jpg

test_param_exposure_time_plot

test_param_exposure_time_plot.png

टेस्ट_परम_फ्लैश_मोड

परीक्षण करता है कि android.flash.mode पैरामीटर लागू किया गया है। मैन्युअल रूप से एक्सपोज़र को डार्क साइड पर सेट करता है, ताकि यह स्पष्ट हो कि फ्लैश फ़ायर हुआ है या नहीं, और एक लीनियर टोनमैप का उपयोग करता है। यह देखने के लिए टाइल छवि के साथ केंद्र की जांच करता है कि कहीं कोई बड़ा ग्रेडिएंट तो नहीं है, जो यह सत्यापित करने के लिए बनाया गया है कि फ़्लैश सक्रिय हुआ है या नहीं।

एपीआई का परीक्षण किया गया:

पास: टाइल छवि के केंद्र में एक बड़ा ग्रेडिएंट है जिसका अर्थ है कि फ्लैश जल गया।

test_param_flash_mode_1

test_param_flash_mode_1.jpg

टेस्ट_परम_फ्लैश_मोड_1_टाइल

test_param_flash_mode_1_tile.jpg

test_param_flash_mode_2

test_param_flash_mode_2.jpg

test_param_flash_mode_2_टाइल

test_param_flash_mode_2_tile.jpg

test_param_noise_reduction

परीक्षण करता है कि android.noiseReduction.mode पैरामीटर सेट होने पर सही तरीके से लागू होता है। कम रोशनी वाले कैमरे से इमेज कैप्चर करता है। कैप्चर की गई छवि शोर है यह सुनिश्चित करने के लिए एक उच्च एनालॉग लाभ का उपयोग करता है। NR बंद, "तेज़" और "उच्च गुणवत्ता" के लिए तीन छवियों को कैप्चर करता है। कम लाभ और एनआर ऑफ वाली छवि भी कैप्चर करता है, और बेसलाइन के रूप में इसके विचरण का उपयोग करता है। SNR (Signal to Noise Ratio) जितना अधिक होगा, छवि गुणवत्ता उतनी ही बेहतर होगी।

एपीआई का परीक्षण किया गया:

पास: SNR विभिन्न शोर में कमी मोड के साथ बदलता रहता है और नीचे दिए गए ग्राफ़ के समान व्यवहार करता है।

test_param_noise_reduction_plot_SNRs

test_param_noise_reduction_plot_SNRs.png

0: बंद, 1: तेज, 2: मुख्यालय, 3: मिनट, 4: ZSL

test_param_noise_reduction_high_gain_nr=0

test_param_noise_reduction_high_gain_nr=0.jpg

test_param_noise_reduction_high_gain_nr=1

test_param_noise_reduction_high_gain_nr=1.jpg

test_param_noise_reduction_high_gain_nr=2

test_param_noise_reduction_high_gain_nr=2.jpg

test_param_noise_reduction_high_gain_nr=3

test_param_noise_reduction_high_gain_nr=3.jpg

test_param_noise_reduction_low_gain

test_param_noise_reduction_low_gain.jpg

परीक्षण_परम_संवेदनशीलता

परीक्षण करता है कि android.sensor.sensitivity पैरामीटर लागू किया गया है। परीक्षण प्रत्येक शॉट के लिए निश्चित एक्सपोजर के साथ 5 चरणों में संवेदनशीलता बढ़ाता है।

एपीआई का परीक्षण किया गया:

पास: केंद्र का आरजीबी साधन 10% बढ़ी हुई संवेदनशीलता के साथ उज्जवल हो जाता है।

test_param_sensitivity_iso=0055

test_param_sensitivity_iso=0055.jpg

test_param_sensitivity_iso=1819

test_param_sensitivity_iso=1819.jpg

test_param_sensitivity_iso=3583

test_param_sensitivity_iso=3583.jpg

test_param_sensitivity_iso=5347

test_param_sensitivity_iso=5347.jpg

test_param_sensitivity_iso=7111

test_param_sensitivity_iso=7111.jpg

टेस्ट_परम_सेंसिटिविटी_प्लॉट

test_param_sensitivity_plot.png

test_param_shading_mode

परीक्षण करता है कि android.shading.mode पैरामीटर लागू किया गया है।

एपीआई का परीक्षण किया गया:

पास: छायांकन मोड स्विच किए जाते हैं और लेंस छायांकन मानचित्रों को अपेक्षित रूप से संशोधित किया जाता है।

test_param_shading_mode_ls_maps_mode_0_loop_0

test_param_shading_mode_ls_maps_mode_0_loop_0.png

test_param_shading_mode_ls_maps_mode_1_loop_0

test_param_shading_mode_ls_maps_mode_1_loop_0.png

test_param_shading_mode_ls_maps_mode_2_loop_0

test_param_shading_mode_ls_maps_mode_2_loop_0.png

टेस्ट_परम_टोनमैप_मोड

परीक्षण करता है कि android.tonemap.mode पैरामीटर लागू किया गया है। प्रत्येक आर, जी, बी चैनल पर अलग-अलग टोनमैप वक्र लागू करता है, और जांचता है कि आउटपुट छवियों को अपेक्षित रूप से संशोधित किया गया है। इस टेस्ट में दो टेस्ट होते हैं, टेस्ट 1 और टेस्ट 2।

एपीआई का परीक्षण किया गया:

रास्ता:

  • test1: दोनों छवियों में एक रैखिक टोनमैप है, लेकिन n=1 में एक तेज ढाल है। n=1 छवि के लिए G (हरा) चैनल उज्जवल है।
  • टेस्ट 2: वही टोनमैप, लेकिन अलग-अलग लंबाई। छवियां समान हैं।
test_param_tonemap_mode_n=0.jpgtest_param_tonemap_mode_n=1.jpg
test_param_tonemap_mode_n=0.jpg test_param_tonemap_mode_n=1.jpg

test_post_raw_sensitivity_boost

रॉ संवेदनशीलता को बढ़ावा देने के बाद की जाँच करता है। विभिन्न संवेदनशीलता के साथ रॉ और वाईयूवी छवियों का एक सेट कैप्चर करता है, रॉ संवेदनशीलता बूस्ट संयोजन पोस्ट करता है और जांचता है कि आउटपुट पिक्सेल माध्य अनुरोध सेटिंग्स से मेल खाता है या नहीं।

एपीआई का परीक्षण किया गया:

पास: जैसे-जैसे बूस्ट बढ़ता है, रॉ की छवियां गहरी होती जाती हैं, जबकि YUV छवियां चमक में स्थिर रहती हैं

test_post_raw_sensitivity_boost_raw_s=3583_boost=0100

test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg

test_post_raw_sensitivity_boost_raw_s=1792_boost=0200

test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg

test_post_raw_sensitivity_boost_raw_s=0896_boost=0400

test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg

test_post_raw_sensitivity_boost_raw_s=0448_boost=0800

test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg

test_post_raw_sensitivity_boost_raw_s=0224_boost=1600

test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg

test_post_raw_sensitivity_boost_raw_s=0112_boost=3199

test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg

test_post_raw_sensitivity_boost_raw_plot_means

test_post_raw_sensitivity_boost_raw_plot_means.png

test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199

test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg

test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800

test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg

test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400

test_post_raw_sensitivity_boost_yuv_s=0896_boost=0400.jpg

test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200

test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg

test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100

test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg

test_post_raw_sensitivity_boost_yuv_plot_means

test_post_raw_sensitivity_boost_yuv_plot_means.png

test_raw_burst_sensitivity

बढ़ते लाभ के साथ कच्ची छवियों का एक सेट कैप्चर करता है और शोर को मापता है। रॉ-ओनली कैप्चर करता है, एक बर्स्ट में।

एपीआई का परीक्षण किया गया:

पास: प्रत्येक शॉट पिछले शॉट की तुलना में अधिक शोर करता है, क्योंकि लाभ बढ़ रहा है।

केंद्र आँकड़े ग्रिड सेल के प्रसरण का उपयोग करता है।

test_raw_burst_sensitivity_variance

test_raw_burst_sensitivity_variance.png

test_raw_exposure

बढ़ते एक्सपोज़र समय के साथ कच्ची छवियों का एक सेट कैप्चर करता है और पिक्सेल मानों को मापता है।

एपीआई का परीक्षण किया गया:

पास: आईएसओ (लाभ) बढ़ाने से पिक्सेल प्रकाश के प्रति अधिक संवेदनशील हो जाते हैं, इसलिए प्लॉट बाईं ओर चला जाता है।

test_raw_exposure_s=55

test_raw_exposure_s=55.png

(10⁰ 1 एमएस है, 10¹ 10 एमएस है, 10⁻¹ 0.1 एमएस है)

test_raw_exposure_s=132

test_raw_exposure_s=132.png

test_raw_exposure_s=209

test_raw_exposure_s=209.png

test_raw_exposure_s=286

test_raw_exposure_s=286.png

test_raw_exposure_s=363

test_raw_exposure_s=363.png

test_raw_exposure_s=440

test_raw_exposure_s=440.png

test_raw_sensitivity

बढ़ती संवेदनशीलता के साथ कच्ची छवियों का एक सेट कैप्चर करता है और 10% छवि के केंद्र में शोर (विचरण) को मापता है। परीक्षण करें कि प्रत्येक शॉट पिछले वाले की तुलना में अधिक शोर करता है।

एपीआई का परीक्षण किया गया:

पास: प्रत्येक शॉट के साथ भिन्नता बढ़ती है।

test_raw_sensitivity_variance

test_raw_sensitivity_variance.png

test_reprocess_noise_reduction

परीक्षण करता है कि android.noiseReduction.mode को पुन: प्रसंस्करण अनुरोधों के लिए लागू किया जाता है। कम रोशनी वाले कैमरे के साथ पुन: संसाधित छवियों को कैप्चर करता है। कैप्चर छवि शोर है यह सुनिश्चित करने के लिए एक उच्च एनालॉग लाभ का उपयोग करता है। NR बंद, "तेज़" और "उच्च गुणवत्ता" के लिए तीन पुन: संसाधित छवियों को कैप्चर करता है। कम लाभ और एनआर बंद के साथ एक पुनर्संसाधित छवि को कैप्चर करता है, और बेसलाइन के रूप में इसके विचरण का उपयोग करता है।

एपीआई का परीक्षण किया गया:

पास: तेज>= बंद, मुख्यालय>= तेज, मुख्यालय >> बंद

विशिष्ट SNR बनाम NR_MODE प्लॉट

विशिष्ट SNR बनाम NR_MODE प्लॉट

टेस्ट_टोनमैप_अनुक्रम

विभिन्न टोनमैप कर्व्स वाले शॉट्स के अनुक्रम का परीक्षण करता है। लीनियर टोनमैप के साथ 3 मैनुअल शॉट कैप्चर करता है। डिफ़ॉल्ट टोनमैप के साथ 3 मैनुअल शॉट कैप्चर करता है। प्रत्येक लगातार फ्रेम जोड़ी के बीच डेल्टा की गणना करता है।

एपीआई का परीक्षण किया गया:

पास: 3 समान फ़्रेम हैं, जिसके बाद 3 समान फ़्रेमों का एक अलग सेट है।

test_tonemap_sequence_i=0

test_tonemap_sequence_i=0.jpg

test_tonemap_sequence_i=1

test_tonemap_sequence_i=1.jpg

test_tonemap_sequence_i=2

test_tonemap_sequence_i=2.jpg

test_tonemap_sequence_i=3

test_tonemap_sequence_i=3.jpg

test_tonemap_sequence_i=4

test_tonemap_sequence_i=4.jpg

test_tonemap_sequence_i=5

test_tonemap_sequence_i=5.jpg

test_yuv_jpeg_all

परीक्षण कि छवि कैप्चर कार्य के लिए सभी रिपोर्ट किए गए आकार और प्रारूप। लीनियर टोनमैप के साथ मैन्युअल अनुरोध का उपयोग करता है ताकि image_processing_utils मॉड्यूल द्वारा परिवर्तित किए जाने पर YUV और JPEG समान दिखें। छवियां डिफ़ॉल्ट रूप से सहेजी नहीं जाती हैं, लेकिन debug_mode को सक्षम करके सहेजी जा सकती हैं।

एपीआई का परीक्षण किया गया:

पास: सभी छवि केंद्रों में उच्चतम रिज़ॉल्यूशन YUV छवि के 3% के साथ RGB परिवर्तित छवियों में अधिकतम RMS (सिग्नल का मूल-माध्य-वर्ग मान) अंतर होता है।

test_yuv_jpeg_all

test_yuv_jpeg_all.png

टेस्ट_युव_प्लस_डीएनजी

परीक्षण करें कि छवि कैप्चर के लिए रिपोर्ट किए गए आकार और प्रारूप काम करते हैं।

एपीआई का परीक्षण किया गया:

पास: परीक्षण पूरा करता है और अनुरोधित छवियों को लौटाता है।

टेस्ट_युव_प्लस_डीएनजी

test_yuv_plus_dng.jpg

टेस्ट_युव_प्लस_जेपीईजी

YUV और JPEG दोनों आउटपुट के रूप में सिंगल फ्रेम कैप्चर करने वाले टेस्ट। लीनियर टोनमैप के साथ मैन्युअल अनुरोध का उपयोग करता है ताकि image_processing_utils मॉड्यूल द्वारा परिवर्तित किए जाने पर YUV और JPEG समान दिखें।

एपीआई का परीक्षण किया गया:

पास: YUV और JPEG इमेज समान हैं और इनमें 1% से कम RMS (सिग्नल का रूट-मीन-स्क्वायर वैल्यू) अंतर है।

test_yuv_plus_jpg_jpg.jpgtest_yuv_plus_jpeg_yuv.jpg
test_yuv_plus_jpg_jpg.jpg test_yuv_plus_jpeg_yuv.jpg

test_yuv_plus_raw

रॉ और वाईयूवी दोनों आउटपुट के रूप में एक ही फ्रेम को कैप्चर करने वाले टेस्ट। रैखिक टोनमैप के साथ मैन्युअल अनुरोध का उपयोग करता है इसलिए रॉ और वाईयूवी समान होने की उम्मीद है। RGB परिवर्तित छवियों के केंद्र 10% RGB मानों की तुलना करता है। android.shading.mode लॉग करता है।

एपीआई का परीक्षण किया गया:

पास: YUV और JPEG इमेज समान हैं और इनमें 3.5% से कम RMS (सिग्नल का रूट-मीन-स्क्वायर वैल्यू) अंतर है।

test_yuv_plus_raw_shading=1_raw.jpgtest_yuv_plus_raw_shading=1_yuv.jpg
test_yuv_plus_raw_shading=1_raw.jpg test_yuv_plus_raw_shading=1_yuv.jpg

test_yuv_plus_raw10

RAW10 और YUV दोनों आउटपुट के रूप में एक ही फ्रेम को कैप्चर करने वाले टेस्ट। रैखिक टोनमैप के साथ मैन्युअल अनुरोध का उपयोग करता है इसलिए रॉ और वाईयूवी समान होने की उम्मीद है। RGB परिवर्तित छवियों के केंद्र 10% RGB मानों की तुलना करता है। android.shading.mode लॉग करता है।

एपीआई का परीक्षण किया गया:

पास: RAW10 और YUV इमेज समान हैं और इनमें 3.5% से कम RMS (सिग्नल का रूट-मीन-स्क्वायर वैल्यू) अंतर है।

test_yuv_plus_raw10_shading=1_rawtest_yuv_plus_raw10_shading=1_yuv
test_yuv_plus_raw10_shading=1_raw.jpg test_yuv_plus_raw10_shading=1_yuv.jpg

test_yuv_plus_raw12

RAW12 और YUV दोनों आउटपुट के रूप में एक ही फ्रेम को कैप्चर करने वाले टेस्ट। रैखिक टोनमैप के साथ मैन्युअल अनुरोध का उपयोग करता है इसलिए रॉ और वाईयूवी समान होने की उम्मीद है। RGB परिवर्तित छवियों के केंद्र 10% RGB मानों की तुलना करता है। android.shading.mode लॉग करता है।

एपीआई का परीक्षण किया गया:

पास: RAW12 और YUV इमेज समान हैं और इनमें 3.5% से कम RMS (सिग्नल का रूट-मीन-स्क्वायर वैल्यू) अंतर है।

test_yuv_plus_raw12_shading=1_raw.jpgtest_yuv_plus_raw12_shading=1_yuv.jpg
test_yuv_plus_raw12_shading=1_raw.jpg test_yuv_plus_raw12_shading=1_yuv.jpg

दृश्य2_ए

सीन 2_ए के तीन चेहरे धूसर पृष्ठभूमि और तटस्थ कपड़ों के साथ हैं। त्वचा टोन की एक विस्तृत श्रृंखला के लिए चेहरों को चुना जाता है।

दृश्य2_ए

दृश्य2_ए

टेस्ट_ऑटो_फ्लैश

परीक्षण कि एक अंधेरे दृश्य में ऑटो-फ़्लैश चालू हो गया है। यह सत्यापित करता है कि टाइल छवि के केंद्र में एक बड़ा ग्रेडिएंट है या नहीं, इसकी जाँच करके ऑटो-फ़्लैश को सक्रिय किया जाता है। ऑटो-फ्लैश को ट्रिगर करने के लिए, परीक्षण रिग में टैबलेट और लाइट को बंद कर देना चाहिए। परीक्षण द्वारा टैबलेट को बंद कर दिया जाता है, और रोशनी को Arduino नियंत्रक के साथ स्वचालित रूप से बंद किया जा सकता है।

एपीआई का परीक्षण किया गया:

पास: टाइल छवि के केंद्र में एक बड़ा ग्रेडिएंट है जिसका अर्थ है कि ऑटो-फ़्लैश सक्रिय हो गया है।

परीक्षण प्रभाव

समर्थित कैमरा प्रभावों के लिए फ्रेम को कैप्चर करता है और जांचता है कि क्या वे सही ढंग से उत्पन्न हुए हैं। परीक्षण केवल OFF और MONO के प्रभावों की जांच करता है, लेकिन सभी समर्थित प्रभावों के लिए छवियों को सहेजता है।

एपीआई का परीक्षण किया गया:

पास: OFF प्रभाव के साथ दृश्य छवि और MONO पर सेट प्रभावों के साथ एक मोनोक्रोम छवि को कैप्चर करता है।

परीक्षण_प्रभाव_मोनो

परीक्षण_प्रभाव_मोनो.jpg

test_format_combos

आउटपुट स्वरूपों के विभिन्न संयोजनों का परीक्षण करता है।

एपीआई का परीक्षण किया गया:

पास: सभी संयोजन सफलतापूर्वक कैप्चर किए गए हैं।

टेस्ट_जेपीईजी_क्वालिटी

कैमरा जेपीईजी संपीड़न गुणवत्ता का परीक्षण करता है। android.jpeg.quality के माध्यम से JPEG गुणों को चरणबद्ध करें और सुनिश्चित करें कि परिमाणीकरण तालिकाएँ सही ढंग से बदलें।

एपीआई का परीक्षण किया गया:

पास: गुणवत्ता में वृद्धि के साथ परिमाणीकरण मैट्रिक्स घटता है। (मैट्रिक्स विभाजन कारक का प्रतिनिधित्व करता है।)

टेस्ट_जेपीईजी_क्वालिटी

पिक्सेल 4 रियर कैमरा लूमा/क्रोमा DQT मैट्रिक्स औसत बनाम JPEG गुणवत्ता

test_jpeg_गुणवत्ता विफल

असफल परीक्षण उदाहरण

ध्यान दें कि बहुत कम गुणवत्ता वाली छवियों (jpeg. गुणवत्ता <50) के लिए, परिमाणीकरण मैट्रिक्स में संपीड़न में कोई वृद्धि नहीं हुई है।

test_num_faces

टेस्ट फेस डिटेक्शन।

एपीआई का परीक्षण किया गया:

पास: तीन चेहरे पाता है।

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

दृश्य2_बी

test_auto_per_frame_control

ऑटो कैप्चर अनुरोधों के लिए PER_FRAME_CONTROL गुणों का परीक्षण करता है।

एपीआई का परीक्षण किया गया:

पास: सभी PER_FRAME_CONTROL गुण मौजूद हैं।

test_auto_per_frame_control_frame_1

test_auto_per_frame_control_frame_1.jpg

test_auto_per_frame_control_frame_10

test_auto_per_frame_control_frame_10.jpg

test_auto_per_frame_control_frame_29

test_auto_per_frame_control_frame_29.jpg

test_auto_per_frame_control_plot

test_auto_per_frame_control_plot.png

test_num_faces

चेहरे के दृश्यों में बढ़ी हुई त्वचा टोन विविधता के साथ परीक्षण चेहरा पहचान।

एपीआई का परीक्षण किया गया:

पास: 3 चेहरे ढूँढता है।

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_yuv_jpg_capture_sameness

सबसे बड़े सामान्य YUV और JPEG प्रारूपों का उपयोग करते हुए दो छवियों को समान पहलू अनुपात के साथ कैप्चर करता है, जो कि सबसे बड़े JPEG प्रारूप के रूप में 1920x1440 के रिज़ॉल्यूशन से अधिक नहीं है। jpeg.quality .गुणवत्ता को 100 पर सेट करता है और दोहरी सतह अनुरोध को कैप्चर करता है। दोनों छवियों को RGB सरणियों में कनवर्ट करता है और दो छवियों के बीच 3D रूट माध्य वर्ग (RMS) अंतर की गणना करता है।

एपीआई का परीक्षण किया गया:

पास: YUV और JPEG इमेज समान हैं और इनमें 1% से कम RMS (सिग्नल का रूट-मीन-स्क्वायर वैल्यू) अंतर है।

दृश्य2_सी

test_num_faces

चेहरे के दृश्यों में बढ़ी हुई त्वचा टोन विविधता के साथ परीक्षण चेहरा पहचान।

एपीआई का परीक्षण किया गया:

पास: 3 चेहरे ढूँढता है।

test_num_faces_fd_mode_1

test_num_faces_fd_mode_1.jpg

test_jpeg_capture_perf_class

सीडीडी में खंड 2.2.7.2 कैमरा में निर्दिष्ट एस प्रदर्शन वर्ग के लिए जेपीईजी कैप्चर विलंबता परीक्षण।

पास: दोनों प्राथमिक कैमरों के लिए ITS प्रकाश स्थितियों (3000K) के तहत CTS कैमरा प्रदर्शन परीक्षण द्वारा मापा गया 1080p रिज़ॉल्यूशन के लिए कैमरा 2 JPEG कैप्चर लेटेंसी <1000ms होना चाहिए।

test_camera_launch_perf_class

सीडीडी में निर्दिष्ट खंड 2.2.7.2 कैमरा के रूप में एस प्रदर्शन वर्ग के लिए परीक्षण कैमरा लॉन्च विलंबता।

पास: दोनों प्राथमिक कैमरों के लिए ITS प्रकाश स्थितियों (3000K) के तहत CTS कैमरा प्रदर्शन परीक्षण द्वारा मापा गया कैमरा2 स्टार्टअप विलंबता (पहले पूर्वावलोकन फ्रेम के लिए खुला कैमरा) <600ms होना चाहिए।

दृश्य2_डी

test_num_faces

चेहरे के दृश्यों में बढ़ी हुई त्वचा टोन विविधता के साथ परीक्षण चेहरा पहचान।

एपीआई का परीक्षण किया गया:

पास: 3 चेहरे ढूँढता है।

दृश्य2_e

परीक्षण_निरंतर_चित्र

50 वीजीए रिज़ॉल्यूशन फ़्रेम कैप्चर अनुरोध के साथ कैप्चर किए जाते हैं पहली सेटिंग android.control.afMode = 4 (CONTINUOUS_PICTURE).

एपीआई का परीक्षण किया गया:

पास: 3A सिस्टम 50-फ्रेम कैप्चर के अंत तक व्यवस्थित हो जाता है।

test_num_faces

चेहरे के दृश्यों में बढ़ी हुई त्वचा टोन विविधता के साथ परीक्षण चेहरा पहचान।

एपीआई का परीक्षण किया गया:

पास: 3 चेहरे ढूँढता है।

दृश्य3

Scene3 ISO12233 चार्ट का उपयोग करता है, और अधिकांश परीक्षण दृश्य में चार्ट को खोजने के लिए चार्ट एक्सट्रैक्टर विधि का उपयोग करते हैं। इस कारण से, अधिकांश सहेजी गई छवियों में दृश्य 1, 2 या 4 की छवियों की तरह बॉर्डर नहीं होते हैं, लेकिन केवल चार्ट होते हैं।

test_3a_consistency

3ए संगति के लिए टेस्ट।

एपीआई का परीक्षण किया गया:

पास: 3A सहिष्णुता के भीतर तीन बार एक्सपोज़र, गेन, awb (ऑटो व्हाइट बैलेंस), और fd (फोकस डिस्टेंस) के लिए अभिसरण करता है।

टेस्ट_एज_एन्हांसमेंट

परीक्षण करता है कि android.edge.mode पैरामीटर सही ढंग से लागू किया गया है। प्रत्येक किनारे मोड के लिए गैर-पुन: संसाधित छवियों को कैप्चर करता है और आउटपुट छवि की तीक्ष्णता और कैप्चर परिणाम मेटाडेटा देता है। किसी दिए गए किनारे मोड, संवेदनशीलता, एक्सपोजर समय, फोकस दूरी, और आउटपुट सतह पैरामीटर के साथ कैप्चर अनुरोध को संसाधित करता है।

पास: HQ मोड (2) OFF मोड (0) से तेज। FAST मोड (1) OFF मोड से तेज। HQ मोड तेज या FAST मोड के बराबर।

एपीआई का परीक्षण किया गया:

प्रभावित कैमरा पैरामीटर:

  • EDGE_MODE

test_edge_enhancement_edge=0

test_edge_enhancement_edge=0.jpg

test_edge_enhansment_edge=1

test_edge_enhancement_edge=1.jpg (तेज़ मोड)

test_edge_enhancement_edge=2

test_edge_enhancement_edge=2.jpg (उच्च गुणवत्ता मोड)

टेस्ट_फ्लिप_मिरर

सीडीडी सेक्शन 7.5.2 फ्रंट-फेसिंग कैमरा [सी-1-5] के अनुसार परीक्षण करें कि छवि ठीक से उन्मुख है या नहीं।

केंद्र के पास हीरे की विशेषता से प्रतिबिंबित, फ़्लिप या घुमाए गए चित्रों की पहचान की जा सकती है।

Pass: Image isn't flipped, mirrored or rotated.

test_flip_mirror_scene_patch

test_flip_mirror_scene_patch.jpg

test_lens_movement_reporting

Tests if the lens movement flag is properly reported. Captures a burst of 24 images with the first 12 frames at the optimum focus distance (as found by 3A) and the last 12 frames at the minimum focus distance. Around frame 12, the lens moves causing the sharpness to drop. The sharpness eventually stabilize as the lens moves to the final position. The lens movement flag should be asserted in all frames where the sharpness is intermediate to sharpness in the first 10 frames with the lens stationary at optimum focal distance, and the final 10 frames where the lens is stationary in the minimum focal distance. The exact frame the lens moves isn't important: what is checked is that the movement flag is asserted when the lens is moving.

APIs tested:

Pass: Lens movement flag is True in the frame with sharpness change.

test_reprocess_edge_enhancement

Tests if supported reprocess methods for edge enhancement work properly. Processes a capture request with a given reprocess edge mode and compares different modes to capture with reprocess edge modes disabled.

APIs tested:

Pass: Sharpness for the different edge modes is correct. HQ (mode 2) is sharper than OFF (mode 0), and improvement between different modes is similar.

test_reprocess_edge_enhancement_plot

test_reprocess_edge_enhancement_plot.png

scene4

Scene4 consists of a black circle on a white background inside a square.

scene4

scene4

test_aspect_ratio_and_crop

Takes pictures of a circle inside of a square over all formats. Verifies that the aspect ratio of the circle doesn't change, the cropped images keep the circle in center, and the circle size doesn't change for a constant format or with different resolution (field of view check).

APIs tested:

Pass: Images aren't stretched, the center of images don't differ by more than 3%, and the maximum possible FOV (field of view) is preserved.

test_multi_camera_alignment

Tests the multi camera system parameters related to camera spacing. Using the multi-camera physical sub-cameras, takes a picture with one of the physical cameras. Finds the circle center. Projects the circle center to the world coordinates for each camera. Compares the difference between the cameras' circle centers in world coordinates. Reprojects the world coordinate back to pixel coordinates and compares against originals as a validity check. Compares the circle sizes checking if the focal lengths of the cameras are different.

APIs tested:

Pass: Focal lengths and circles sizes are consistent.

test_preview_stabilization_fov

Checks the supported preview sizes to ensure the FoV is cropped approriately. The test captures two videos, one with preview stabilization ON , and another with preview stabilization OFF . A representative frame is selected from each video, and analyzed to ensure that the FoV changes in the two videos are within spec.

APIs tested:

Pass: The circle aspect ratio remains about constant, the center location of the circle remains stable, and the size of circle changes no more that 20%. ie the FOV changes at most 20%

test_video_aspect_ratio_and_crop

Takes videos of a circle inside of a square over all video formats. Extracts the key frames, and verifies the aspect ratio of the circle doesn't change, the cropped images keep the circle in center, and the circle size doesn't change for a constant format or with different resolution (field of view check).

APIs tested:

Pass: Video frames aren't stretched, the center of frames don't differ by more than 3%, and the maximum possible FoV (field of view) is preserved.

scene5/diffuser

test_lens_shading_and_color_uniformity

Tests that the lens shading correction is applied appropriately, and color of a monochrome uniform scene is evenly distributed. Performs this test on a YUV frame with auto 3A. Lens shading is evaluated based on the y channel. Measures the average y value for each sample block specified, and determines pass or fail by comparing with the center y value. The color uniformity test is evaluated in r/g and b/g space.

APIs tested:

Pass: At the specified radius of the image, the variance of r/g and b/g value must be less than 20% to pass the test.

scene6

Scene6 is a grid of small circles with a square in one corner to indicate orientation. The small circles are needed to test zoom function over a large range.

scene6

scene6

test_zoom

Tests the camera zoom behavior. Takes captures over the zoom range and checks if the circles get bigger as the camera zooms in.

APIs tested:

Pass: Relative size of captured circle is accurate against requested zoom ratio to ensure camera is zooming correctly.

test_zoom

test_zoom to find the contour of the circle closest to the center.

sensor_fusion

Sensor fusion tests require specific phone movement in front of a checkerboard pattern. The sensor_fusion tests can be automated with the Sensor Fusion Box .

checkerboard

Image of checkerboard

test_multi_camera_frame_sync

Tests that frame timestamps captured by logical camera are within 10 ms by computing angles of squares within the checkerboard to determine the timestamp.

APIs tested:

Pass: Angle between images from each camera doesn't change appreciably as phone is rotated.

test_preview_stabilization

Tests that stabilized preview video rotates less than gyroscope.

APIs tested:

Pass: Max angle rotation over frames is less than 70% of gyroscope rotation.

test_sensor_fusion

Tests the timestamp difference between the camera and the gyroscope for AR and VR applications. Phone is rotated 90 degrees 10 times in front of the checkerboard pattern. Motion is about 2 s round trip. This test is skipped if no gyroscope is included or if the timestamp source REALTIME parameter is not enabled.

The test_sensor_fusion test generates a number of plots. The two most important plots for debugging are:

  • test_sensor_fusion_gyro_events : Shows the gyroscope events for the phone during the test. Movement in the x and y direction implies the phone isn't securely mounted on the mounting plate, reducing the probability of the test passing. The number of cycles in the plot depends on the write speed for saving frames.

    test_sensor_fusion_gyro_events.png

    test_sensor_fusion_gyro_events

  • test_sensor_fusion_plot_rotations : Shows the alignment of the gyroscope and camera events. This plot must show matching movement between camera and gyroscope to +/-1 ms.

    test_sensor_fusion_plot_rotations.png

    test_sensor_fusion_plot_rotations

APIs tested:

Pass: Camera and gyroscope timestamps' offset is less than 1 ms as per CDD section 7.3.9 High Fidelity Sensors [C-2-14] .

test_video_stabilization

Tests that stabilized video rotates less than gyroscope.

APIs tested:

Pass: Max angle rotation over frames is less than 60% of gyroscope rotation.