Android 12 की रिलीज़ में, Camera ITS में कई बदलाव किए गए हैं. इस पेज पर, चार मुख्य कैटगरी में किए गए बदलावों के बारे में खास जानकारी दी गई है:
- Python 3 में कोड को फिर से लिखना
- Mobly टेस्ट फ़्रेमवर्क को अपनाना
- बदलावों को टेस्ट करें
- नई जांच के आंकड़े
Python 3 में फिर से फ़ैक्टर करना
जनवरी 2020 में Python 2.7 का इस्तेमाल बंद कर दिया गया था. इसलिए, Camera ITS के पूरे कोडबेस को Python 3 में बदल दिया गया था. Android 12 में, Python के इन वर्शन और लाइब्रेरी का होना ज़रूरी है:
- Python 3.7.9 या Python 3.7.10
- OpenCV 3.4.2
- Numpy 1.19.2
- Matplotlib 3.3.2
- Scipy 1.5.2
- pySerial 3.5
- Pillow 8.1.0
- PyYAML 5.3.1
मुख्य टेस्ट लॉन्चर, tools/run_all_tests.py
, Android 11 या इससे पहले के वर्शन की तरह ही है. इसे Python 3 में फिर से बनाया गया है.
सभी अलग-अलग टेस्ट को फिर से बनाया गया है. साथ ही, वे tests/its_base_test.py
में तय की गई नई टेस्ट सेटअप क्लास का इस्तेमाल करते हैं. ज़्यादातर टेस्ट के नाम और फ़ंक्शन पहले जैसे ही रहेंगे.
Android 12 में, सभी टेस्ट अब अपने सीन लोड करते हैं. हर टेस्ट के लिए सीन लोड होने से, टेस्ट में लगने वाला कुल समय बढ़ जाता है. हालांकि, इससे अलग-अलग टेस्ट को डीबग किया जा सकता है.
किसी टेस्ट में किए गए बदलावों के बारे में ज़्यादा जानने के लिए, टेस्ट में किए गए बदलाव लेख पढ़ें.
नाम में बदलाव करके, इन Python मॉड्यूल को फिर से बनाया गया है:
pymodules/its/caps.py
→utils/camera_properties_utils.py
pymodules/its/cv2image.py
→utils/opencv_processing_utils.py
pymodules/its/device.py
→utils/its_session_utils.py
pymodules/its/error.py
→utils/error_util.py
pymodules/its/image.py
→utils/image_processing_utils.py
pymodules/its/objects.py
→utils/capture_request_utils.py
pymodules/its/target.py
→utils/target_exposure_utils.py
tools/hw.py
→utils/sensor_fusion_utils.py
Mobly टेस्ट फ़्रेमवर्क को अपनाना
Mobly, Python पर आधारित एक टेस्ट फ़्रेमवर्क है. यह ऐसे टेस्ट केस के साथ काम करता है जिनके लिए कस्टम हार्डवेयर सेटअप वाले कई डिवाइसों की ज़रूरत होती है. Camera ITS, Mobly टेस्ट इन्फ़्रास्ट्रक्चर का इस्तेमाल करता है, ताकि टेस्ट को बेहतर तरीके से कंट्रोल किया जा सके और उनकी लॉगिंग की जा सके.
कैमरा आईटीएस, Mobly टेस्ट इन्फ़्रास्ट्रक्चर का इस्तेमाल करता है, ताकि टेस्ट को बेहतर तरीके से कंट्रोल किया जा सके और उनकी लॉगिंग की जा सके. Mobly, Python पर आधारित एक टेस्ट फ़्रेमवर्क है. यह उन टेस्ट केस के साथ काम करता है जिनके लिए कस्टम हार्डवेयर सेटअप वाले कई डिवाइसों की ज़रूरत होती है. Mobly के बारे में ज़्यादा जानकारी के लिए, google/mobly पर जाएं.
config.yml फ़ाइलें
Mobly फ़्रेमवर्क की मदद से, its_base_test
क्लास में टेस्ट किए जाने वाले डिवाइस (डीयूटी) और चार्ट टैबलेट को सेट अप किया जा सकता है. config.yml
(YAML) फ़ाइल का इस्तेमाल, Mobly टेस्टबेड बनाने के लिए किया जाता है. इस कॉन्फ़िगरेशन फ़ाइल में, एक से ज़्यादा टेस्टबेड कॉन्फ़िगर किए जा सकते हैं. उदाहरण के लिए, टैबलेट और सेंसर फ़्यूज़न टेस्टबेड. हर टेस्टबेड के कंट्रोलर सेक्शन में, टेस्ट रनर के लिए सही Android डिवाइसों की पहचान करने के लिए device_ids
तय किया जा सकता है. डिवाइस आईडी के अलावा, टैबलेट brightness
, chart_distance
, debug_mode
, camera_id
, और scene_id
जैसे अन्य पैरामीटर, टेस्ट क्लास में पास किए जाते हैं. टेस्ट पैरामीटर की सामान्य वैल्यू ये हैं:
brightness: 192 (all tablets except Pixel C)
chart_distance: 31.0 (rev1/rev1a box for FoV < 90° cameras)
chart_distance: 22.0 (rev2 test rig for FoV > 90° cameras)
टैबलेट पर टेस्टिंग
टैबलेट पर टेस्टिंग के लिए, टेस्टबेड के नाम में कीवर्ड TABLET
मौजूद होना चाहिए. शुरू होने के दौरान, Mobly टेस्ट रनर TestParams
को शुरू करता है और उन्हें अलग-अलग टेस्ट में पास करता है.
यहां टैबलेट पर चलने वाले ऐप्लिकेशन के लिए, config.yml
फ़ाइल का एक सैंपल दिया गया है.
TestBeds:
- Name: TEST_BED_TABLET_SCENES
# Test configuration for scenes[0:4, 6, _change]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False"
chart_loc_arg: ""
camera: 0
scene: <scene-name> # if <scene-name> runs all scenes
tools/run_all_tests.py
का इस्तेमाल करके, टेस्टबेड को चालू किया जा सकता है. अगर कोई कमांड लाइन वैल्यू मौजूद नहीं है, तो टेस्ट, config.yml
फ़ाइल की वैल्यू के साथ चलाए जाते हैं.
इसके अलावा, Android 11 या इससे पहले के वर्शन के लिए इस्तेमाल होने वाले कमांड की तरह ही कमांड लाइन पर, camera
और scene
कॉन्फ़िगरेशन फ़ाइल की वैल्यू को बदला जा सकता है.
उदाहरण के लिए:
python tools/run_all_tests.py
python tools/run_all_tests.py camera=1
python tools/run_all_tests.py scenes=2,1,0
python tools/run_all_tests.py camera=1 scenes=2,1,0
सेंसर फ़्यूज़न की जांच
सेंसर फ़्यूज़न टेस्टिंग के लिए,
टेस्टबेड के नाम में SENSOR_FUSION
कीवर्ड शामिल होना चाहिए. टेस्ट किए गए सीन के आधार पर, सही टेस्टबेड का पता लगाया जाता है. Android 12, Arduino और Canakit, दोनों के सेंसर फ़्यूज़न कंट्रोलर के साथ काम करता है.
यहां सेंसर फ़्यूज़न रन के लिए, config.yml
फ़ाइल का एक सैंपल दिया गया है.
Testbeds
- Name: TEST_BED_SENSOR_FUSION
# Test configuration for sensor_fusion/test_sensor_fusion.py
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
TestParams:
fps: 30
img_size: 640,480
test_length: 7
debug_mode: "False"
chart_distance: 25
rotator_cntl: arduino # cntl can be arduino or canakit
rotator_ch: 1
camera: 0
सेंसर फ़्यूज़न टेस्ट रिग की मदद से सेंसर फ़्यूज़न टेस्ट चलाने के लिए, इसका इस्तेमाल करें:
python tools/run_all_tests.py scenes=sensor_fusion
python tools/run_all_tests.py scenes=sensor_fusion camera=0
एक से ज़्यादा टेस्टबेड
कॉन्फ़िगरेशन फ़ाइल में एक से ज़्यादा टेस्टबेड शामिल किए जा सकते हैं. आम तौर पर, टैबलेट टेस्टबेड और सेंसर फ़्यूज़न टेस्टबेड, दोनों का इस्तेमाल किया जाता है.
यहां config.yml
फ़ाइल का एक उदाहरण दिया गया है. इसमें टैबलेट और सेंसर फ़्यूज़न, दोनों के टेस्टबेड शामिल हैं.
Testbeds
- Name: TEST_BED_TABLET_SCENES
# Test configuration for scenes[0:4, 6, _change]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False"
chart_loc_arg: ""
camera: 0
scene: <scene-name> # if <scene-name> runs all scenes
- Name: TEST_BED_SENSOR_FUSION
# Test configuration for sensor_fusion/test_sensor_fusion.py
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
TestParams:
fps: 30
img_size: 640,480
test_length: 7
debug_mode: "False"
chart_distance: 25
rotator_cntl: arduino # cntl can be arduino or canakit
rotator_ch: 1
camera: 0
मैन्युअल टेस्टिंग
Android 12 में, मैन्युअल टेस्टिंग की सुविधा काम करती रहेगी.
हालांकि, टेस्टबेड के नाम में MANUAL
कीवर्ड का इस्तेमाल करके, टेस्टबेड को टेस्टिंग के तौर पर पहचानना होगा. इसके अलावा, टेस्टबेड में टैबलेट आईडी शामिल नहीं किया जा सकता.
मैन्युअल तरीके से जांच करने के लिए, यहां config.yml
फ़ाइल का एक सैंपल दिया गया है.
TestBeds:
- Name: TEST_BED_MANUAL
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
TestParams:
debug_mode: "False"
chart_distance: 31.0
camera: 0
scene: scene1
टैबलेट के बिना सीन टेस्ट करना
सीन 0 और सीन 5 के लिए टेस्टिंग, TEST_BED_TABLET_SCENES
या TEST_BED_MANUAL
की मदद से की जा सकती है. हालांकि, अगर टेस्टिंग TEST_BED_TABLET_SCENES
के साथ की जाती है, तो टैबलेट कनेक्ट होना चाहिए. साथ ही, टैबलेट का सीरियल आईडी मान्य होना चाहिए. भले ही, टैबलेट का इस्तेमाल न किया गया हो, क्योंकि टेस्ट क्लास सेटअप, टैबलेट के लिए सीरियल आईडी की वैल्यू असाइन करता है.
अलग-अलग टेस्ट चलाना
अलग-अलग टेस्ट सिर्फ़ डीबग करने के मकसद से चलाए जा सकते हैं, क्योंकि इनके नतीजे CTS Verifier को नहीं भेजे जाते. camera
और scene
के लिए, कमांड लाइन पर config.yml
फ़ाइलों को बदला नहीं जा सकता. इसलिए, config.yml
फ़ाइल में ये पैरामीटर सही होने चाहिए, ताकि उस टेस्ट को सही तरीके से किया जा सके. इसके अलावा, अगर कॉन्फ़िगरेशन फ़ाइल में एक से ज़्यादा टेस्टबेड हैं, तो आपको --test_bed
फ़्लैग का इस्तेमाल करके टेस्टबेड के बारे में बताना होगा. उदाहरण के लिए:
python tests/scene1_1/test_black_white.py --config config.yml --test_bed TEST_BED_TABLET_SCENES
टेस्ट आर्टफ़ैक्ट
Android 12 में, Camera ITS के लिए टेस्ट आर्टफ़ैक्ट, Android 11 या इससे पहले के वर्शन की तरह ही सेव किए जाते हैं. हालांकि, इनमें ये बदलाव किए गए हैं:
- टेस्ट आर्टफ़ैक्ट
/tmp
डायरेक्ट्री में,CameraITS_
को आठ वर्णों वाली रैंडम स्ट्रिंग से पहले जोड़ा गया है, ताकि जानकारी साफ़ तौर पर दी जा सके. - टेस्ट के आउटपुट और गड़बड़ियों को
test_name_stdout.txt
औरtest_name_stderr.txt
के बजाय, हर टेस्ट के लिएtest_log.DEBUG
में सेव किया जाता है. - हर टेस्ट के DUT और टैबलेट के लॉगकैट,
/tmp/CameraITS_########
डायरेक्ट्री में सेव किए जाते हैं. इससे डीबग करना आसान हो जाता है, क्योंकि 3A से जुड़ी समस्याओं को डीबग करने के लिए ज़रूरी सभी जानकारी लॉग की जाती है.
बदलावों को टेस्ट करें
Android 12 में, टैबलेट के सीन PDF फ़ाइलों के बजाय PNG फ़ाइलें होती हैं. PNG फ़ाइलों का इस्तेमाल करने से, ज़्यादा टैबलेट मॉडल पर सीन सही तरीके से दिखते हैं.
scene0/test_jitter.py
test_jitter
यह टेस्ट, Android 12 में मौजूद फ़िज़िकल
हिडन कैमरों पर चलता है.
scene1_1/test_black_white.py
Android 12 के लिए, test_black_white
में test_black_white
और test_channel_saturation
, दोनों की सुविधाएं हैं.
यहां दी गई टेबल में, Android 11 में की जाने वाली दो अलग-अलग जांचों के बारे में बताया गया है.
टेस्ट का नाम | पहला एपीआई लेवल | Assertions |
---|---|---|
scene1_1/test_black_white.py | सभी | कम एक्सपोज़र, कम गेन वाली आरजीबी वैल्यू ~[0, 0, 0] ज़्यादा एक्सपोज़र, ज़्यादा गेन वाली आरजीबी वैल्यू ~[255, 255, 255] |
scene1_1/test_channel_saturation.py | 29 | सफ़ेद इमेज में रंगत को हटाने के लिए, [255, 255, 255] के अंतर को कम किया गया है. |
यहां दी गई टेबल में, Android 12 में मर्ज किए गए टेस्ट, scene1_1/test_black_white.py के बारे में बताया गया है.
टेस्ट का नाम | पहला एपीआई लेवल | Assertions |
---|---|---|
scene1_1/test_black_white.py | सभी | कम एक्सपोज़र, कम गेन वाली आरजीबी वैल्यू ~[0, 0, 0] ज़्यादा एक्सपोज़र, ज़्यादा गेन वाली आरजीबी वैल्यू ~[255, 255, 255] और वैल्यू के बीच कम टॉलरेंस, ताकि सफ़ेद इमेज में रंगत न दिखे. |
scene1_1/test_burst_sameness_manual.py
test_burst_sameness_manual
यह टेस्ट, Android 12 में मौजूद फ़िज़िकल
हिडन कैमरों पर चलता है.
scene1_2/test_tonemap_sequence.py
test_tonemap_sequence
टेस्ट, Android 12 में कुछ ही कैमरों पर काम करता है.
scene1_2/test_yuv_plus_raw.py
test_yuv_plus_raw
यह टेस्ट, Android 12 में मौजूद फ़िज़िकल
हिडन कैमरों पर चलता है.
scene2_a/test_format_combos.py
test_format_combos
टेस्ट, Android 12 में कुछ ही कैमरों पर काम करता है.
scene3/test_flip_mirror.py
test_flip_mirror
टेस्ट, Android 12 में कुछ ही कैमरों पर काम करता है.
scene4/test_aspect_ratio_and_crop.py
Android 12 में, scene4/test_aspect_ratio_and_crop.py
में सर्कल ढूंढने की सुविधा को फिर से फ़ैक्टर किया गया था.
Android के पुराने वर्शन में, एक ऐसे तरीके का इस्तेमाल किया जाता था जिसमें साइज़ और रंग के फ़िल्टर की मदद से, पैरंट कॉन्टूर (स्क्वेयर) के अंदर चाइल्ड कॉन्टूर (सर्कल) का पता लगाया जाता था. Android 12 में, सभी कॉन्टूर का पता लगाने के लिए एक तरीका इस्तेमाल किया जाता है. इसके बाद, सबसे ज़्यादा गोल दिखने वाली सुविधाओं के हिसाब से फ़िल्टर किया जाता है. डिसप्ले पर नकली सर्कल को हटाने के लिए, कम से कम कॉन्टूर एरिया की ज़रूरत होती है. साथ ही, सर्कल का कॉन्टूर काला होना चाहिए.
इस इमेज में, कंटूर और उन्हें चुनने की शर्तें दिखाई गई हैं.
पहली इमेज. कंटूर और चुनने की शर्तों की कॉन्सेप्ट वाली ड्रॉइंग
Android 12 का तरीका ज़्यादा आसान है. साथ ही, यह कुछ डिसप्ले टैबलेट में बाउंडिंग बॉक्स के कटने की समस्या को हल करने में मदद करता है. सभी सर्कल कैंडिडेट को डीबग करने के लिए लॉग किया जाता है.
Android 12 में, FULL
और LEVEL3
डिवाइसों के लिए, क्रॉप टेस्ट किया जाता है. Android 11 या इससे पहले के वर्शन वाले डिवाइसों में, FULL
डिवाइसों के लिए क्रॉप करने से जुड़े टेस्ट के दावे नहीं किए जाते.
यहां दी गई टेबल में, test_aspect_ratio_and_crop.py
के लिए ऐसे दावे दिए गए हैं जो किसी डिवाइस लेवल और पहले एपीआई लेवल से मेल खाते हैं.
डिवाइस लेवल | पहला एपीआई लेवल | Assertions |
---|---|---|
सीमित | सभी | आसपेक्ट रेशियो 4:3, 16:9, 2:1 फ़ॉर्मैट के लिए FoV |
फ़ुल | < 31 | आसपेक्ट रेशियो 4:3, 16:9, 2:1 फ़ॉर्मैट के लिए FoV |
फ़ुल | ≥ 31 | काट-छांट करें आस्पेक्ट रेशियो 4:3, 16:9, 2:1 फ़ॉर्मैट के लिए FoV |
LEVEL3 | सभी | काट-छांट करें आस्पेक्ट रेशियो 4:3, 16:9, 2:1 फ़ॉर्मैट के लिए FoV |
scene4/test_multi_camera_alignment.py
YUV कैप्चर करने के लिए undo_zoom()
तरीके को scene4/test_multi_camera_alignment.py
में फिर से बनाया गया है, ताकि उन सेंसर पर ज़्यादा सटीक तरीके से क्रॉप किया जा सके जिनका आसपेक्ट रेशियो, कैप्चर किए गए आसपेक्ट रेशियो से मेल नहीं खाता.
Android 11 पर Python 2 का कोड
zoom_ratio = min(1.0 * yuv_w / cr_w, 1.0 * yuv_h / cr_h)
circle[i]['x'] = cr['left'] + circle[i]['x'] / zoom_ratio
circle[i]['y'] = cr['top'] + circle[i]['y'] / zoom_ratio
circle[i]['r'] = circle[i]['r'] / zoom_ratio
Android 12 Python 3 कोड
yuv_aspect = yuv_w / yuv_h
relative_aspect = yuv_aspect / (cr_w/cr_h)
if relative_aspect > 1:
zoom_ratio = yuv_w / cr_w
yuv_x = 0
yuv_y = (cr_h - cr_w / yuv_aspect) / 2
else:
zoom_ratio = yuv_h / cr_h
yuv_x = (cr_w - cr_h * yuv_aspect) / 2
yuv_y = 0
circle['x'] = cr['left'] + yuv_x + circle['x'] / zoom_ratio
circle['y'] = cr['top'] + yuv_y + circle['y'] / zoom_ratio
circle['r'] = circle['r'] / zoom_ratio
sensor_fusion/test_sensor_fusion.py
Android 12 में, सेंसर फ़्यूज़न टेस्ट के लिए इमेज में मौजूद सुविधाओं का पता लगाने का तरीका जोड़ा गया है.
Android 12 से पहले के वर्शन में, पूरी इमेज का इस्तेमाल करके सबसे अच्छी 240 सुविधाओं का पता लगाया जाता है. इसके बाद, इन सुविधाओं को इमेज के बीच के 20% हिस्से पर मास्क कर दिया जाता है, ताकि रोलिंग शटर इफ़ेक्ट से बचा जा सके. इसके लिए, कम से कम 30 सुविधाओं की ज़रूरत होती है.
अगर इस तरीके से मिली सुविधाएं काफ़ी नहीं हैं, तो Android 12, सुविधा की पहचान करने वाले हिस्से को पहले 20% तक मास्क करता है. साथ ही, सुविधाओं की संख्या को कम से कम ज़रूरी सुविधाओं की संख्या से दो गुना तक सीमित करता है.
इस इमेज में, Android 11 और Android 12 में सुविधा का पता लगाने के बीच का अंतर दिखाया गया है. ज़रूरी सुविधाओं के थ्रेशोल्ड को बढ़ाने से, खराब क्वालिटी वाली सुविधाओं का पता चलता है. साथ ही, मेज़रमेंट पर बुरा असर पड़ता है.
दूसरी इमेज. Android 11 और Android 12 में सुविधा का पता लगाने के तरीके में अंतर
नई जांच के आंकड़े
scene0/test_solid_color_test_pattern.py
Android 12 के लिए, test_solid_color_test_pattern
नाम का नया टेस्ट चालू किया गया है. यह जांच, सभी कैमरों के लिए चालू होती है. इसकी जानकारी यहां दी गई है.
सीन | टेस्ट का नाम | पहला एपीआई लेवल | ब्यौरा |
---|---|---|---|
0 | test_solid_color_test_pattern | 31 | इससे सॉलिड कलर इमेज आउटपुट और इमेज कलर प्रोग्रामिंग की पुष्टि होती है. |
कैमरे के निजता मोड को चालू करने के लिए, सॉलिड कलर टेस्ट पैटर्न चालू होने चाहिए.
test_solid_color_test_pattern
टेस्ट से यह पुष्टि होती है कि YUV इमेज का आउटपुट, चुने गए पैटर्न के हिसाब से तय किए गए रंग के साथ सॉलिड कलर में है. साथ ही, इमेज का रंग स्पेसिफ़िकेशन के मुताबिक बदलता है.
पैरामीटर
cameraPrivacyModeSupport
: इससे पता चलता है कि कैमरे में निजता मोड की सुविधा है या नहीं.android.sensor.testPatternMode
: टेस्ट पैटर्न मोड सेट करता है. इस टेस्ट मेंSOLID_COLOR
का इस्तेमाल किया जाता है.android.sensor.testPatternData
: टेस्ट पैटर्न मोड के लिए, R, Gr, Gb, G टेस्ट पैटर्न की वैल्यू सेट करता है.
एक ही रंग वाले टेस्ट पैटर्न के बारे में जानने के लिए, SENSOR_TEST_PATTERN_MODE_SOLID_COLOR
पर जाएं.
Method
सेट किए गए पैरामीटर के लिए YUV फ़्रेम कैप्चर किए जाते हैं और इमेज कॉन्टेंट की पुष्टि की जाती है. टेस्ट पैटर्न, सीधे तौर पर इमेज सेंसर से आउटपुट होता है. इसलिए, किसी खास सीन की ज़रूरत नहीं होती. अगर PER_FRAME_CONTROL
काम करता है, तो जांच की गई हर सेटिंग के लिए एक YUV फ़्रेम कैप्चर किया जाता है. अगर PER_FRAME_CONTROL
काम नहीं करता है, तो चार फ़्रेम कैप्चर किए जाते हैं. इनमें से सिर्फ़ आखिरी फ़्रेम का विश्लेषण किया जाता है, ताकि LIMITED
कैमरों में टेस्ट कवरेज को ज़्यादा से ज़्यादा किया जा सके.
YUV कैप्चर को पूरी तरह से सैचुरेट किए गए BLACK
, WHITE
, RED
, GREEN
, और BLUE
टेस्ट पैटर्न पर सेट किया जाता है. टेस्ट पैटर्न की परिभाषा, सेंसर के बेयर पैटर्न के हिसाब से होती है. इसलिए, हर रंग के लिए कलर चैनल सेट किए जाने चाहिए. इसके बारे में यहां दी गई टेबल में बताया गया है.
रंग | testPatternData (RGGB) |
---|---|
काला |
(0, 0, 0, 0)
|
सफ़ेद |
(1, 1, 1, 1)
|
आरईडी (रेडियो उपकरण से जुड़े निर्देश) |
(1, 0, 0, 0)
|
हरा |
(0, 1, 1, 0)
|
नीला |
(0, 0, 0, 1)
|
दावे की टेबल
इस टेबल में, test_solid_color_test_pattern.py
के लिए टेस्ट असर्शन के बारे में बताया गया है.
कैमरा पहला एपीआई लेवल |
कैमरा टाइप | बताए गए रंग |
---|---|---|
31 | Bayer | BLACK, WHITE, RED, GREEN, BLUE |
31 | MONO | काला, सफ़ेद |
< 31 | Bayer/MONO | काला |
परफ़ॉर्मेंस क्लास टेस्ट
scene2_c/test_camera_launch_perf_class.py
यह पुष्टि करता है कि scene2_c फ़ेस सीन के साथ, सामने और पीछे वाले दोनों प्राइमरी कैमरों के लिए, कैमरा स्टार्टअप का समय 500 मि॰से॰ से कम है.
scene2_c/test_jpeg_capture_perf_class.py
यह टेस्ट, scene2_c फ़ेस सीन के साथ, सामने और पीछे वाले प्राइमरी कैमरे, दोनों के लिए 1080 पिक्सल JPEG कैप्चर करने में लगने वाले समय की पुष्टि करता है. यह समय एक सेकंड से कम होना चाहिए.