Bu sayfada, Android Compatibility Test Suite (CTS) Doğrulayıcı'nın bir parçası olan Kamera Görüntü Test Paketi (ITS) kapsamındaki testlerin kapsamlı bir listesi sunulmaktadır. ITS testleri işlevsel testlerdir. Yani resim kalitesini ölçmezler ancak reklamı yapılan tüm kamera işlevleri beklendiği gibi çalışır. Bu belge, geliştiricilerin ve test kullanıcılarının her bir testin işlevini ve test hatalarında nasıl hata ayıklayacaklarını anlamalarına olanak tanır.
Kamera ITS'si; gerekli kamera özellikleri, API düzeyi ve medya performans sınıfı (MPC) düzeyine göre testleri gerçekleştirir. API düzeyi için ITS, belirli bir API düzeyine eklenen ve düşük API seviyelerindeki işlevler için olumsuz kullanıcı deneyimlerini test eden testleri engellemek amacıyla ro.product.first_api_level
kullanır. ITS, belirli bir API seviyesinde eklenen ve yeni donanım özelliği gerektiren özelliklere yönelik testlerin güvenliğini sağlamak için ro.vendor.api_level
kullanır. Bir cihaz için ro.odm.build.media_performance_class
tanımlanırsa ITS, MPC seviyesine bağlı olarak belirli testlerin çalıştırılmasını gerektirir.
Testler sahneye göre şu şekilde gruplandırılır:
- scene0: Meta veri, ses dalgalanması, jiroskop, titreşim yakala
- scene1: Pozlama, hassasiyet, EV dengeleme, YUV ve JPEG/RAW karşılaştırması
- scene2: Yüz algılama, renkli sahneler veya tam karanlık gerektiren testler
- scene3: Kenar iyileştirme, lens hareketi
- scene4: En boy oranı, kırpma, görüş alanı
- scene5: Lens gölgelendirmesi
- scene6: yakınlaştırma
- scene_extensions: Kamera uzantıları
- sensor_fusion: Kamera/jiroskop zamanlama farkı
Her sahnenin açıklaması için tek tek bölümlere bakın.
sahne0
Scene0 testleri belirli sahne bilgisi gerektirmez. Bununla birlikte, jiroskop ve titreşim testi için telefonun sabit olması gerekir.
test_patlama_yakalama
Yakalama ardışık düzeninin tamamının, tam boyutlu yakalama hızına ve CPU süresine ayak uydurabileceğini doğrular.
Test edilen API'ler:
Başarılı: Seri çekim tam boyutlu görüntüler yakalar ve kamera, zaman aşımını önleyecek kadar hızlıdır.
test_capture_sonuç_dökümü
Manuel yakalamadan bir yakalama sonucunun döndürüldüğünü test eder ve ardından bu sonucu döküm yapar.
Test edilen API'ler:
Başarılı: Yakalama işlemini tamamlar ve yakalama sonuçlarını siler.
test_jiroskopu
Cihaz sabit durumdayken jiroskopun sabit çıkışa sahip olup olmadığını test eder. Verilerin grafiği, ortalama 20 veri noktası şeklinde gösterilir.
Test edilen API'ler:
Başarılı: Jiroskop ölçümünün delta değeri zaman içinde 0,01'den azdır.
test_jiroskop_tamiri.png
test_gecikmesi
Kamera zaman damgalarındaki titremeyi ölçer.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
Başarılı: Kareler arasında en az 30 ms delta vardır.
test_jitter_plot.png (Küçük y ekseni aralığına dikkat edin. Bu hikayede dalgalanma aslında çok azdır.)
test_metadata
Meta veri girişlerinin geçerliliğini test eder. Çekim sonuçlarına ve kamera özellikleri
nesnelerine bakar. Bu testte, resim içeriği önemli olmadığı için auto_capture_request
karşılaşma ve değer kazanma verileri kullanılır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
android.hardware.camera2.CameraCharacteristics#SCALER_CROPPING_TYPE
android.hardware.camera2.CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Başarılı: Donanım düzeyi, rollingShutterSkew
, frameDuration
etiketleri, timestampSource
, croppingType
, blackLevelPattern
, pixel_pitch
, FoV, hiperodak mesafe mevcut ve geçerli değerlere sahip.
test_paramı_hassaslık_patlaması
android.sensor.sensitivity
parametresinin seri işlem sırasında doğru şekilde uygulandığını test eder. Yalnızca çıkış meta verilerini inceler.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Başarılı: Çıkış verilerinin hata toleransı %0,2'den azdır.
test_okuma_yazma
Cihazın doğru pozlamayı yazıp yazmadığını ve yakalama meta verilerini tekrar okuyarak değerler kazanıp kazanmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
Başarılı: Okuma ve yazma değerleri tüm karelerde eşleşir.
test_sensörü_etkinlikleri
Sensör füzyon desteğini tanıtan cihazlar için cihazın sensör etkinliklerini sorgulayıp yazdırdığını test eder. Kullanılması beklenen sensörler; ivme ölçer, jiroskop ve manyetometre. Bu test yalnızca ekran açıkken çalışır, yani cihaz bekleme modunda değilse
Test edilen API'ler:
Başarılı: Her bir sensördeki etkinlikler alınır.
test_katı_renk_test_modeli
Kameranın sesinin kapatılması için düz renk testi desenlerinin doğru şekilde oluşturulduğunu test eder. Kameranın sesinin kapatılması destekleniyorsa düz renk testi desenleri desteklenmektedir. Kameranın sesinin kapatılması desteklenmiyorsa düz renk testi desenleri, yalnızca özelliğin tanıtıldığı durumlarda test edilir.
RAW resimler destekleniyorsa renk ataması da test edilir. Test edilen renkler siyah, beyaz, kırmızı, mavi ve yeşildir. RAW resimleri desteklemeyen kameralarda yalnızca siyah test edilir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_DATA
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
Başarılı: Desteklenen katı test desenleri doğru renktir ve resimde düşük sapma vardır.
test_test_modeli
Geçerli her test kalıbı için kareleri yakalamak üzere android.sensor.testPatternMode
parametresini test eder ve tek renkler ile renk çubukları için karelerin doğru şekilde oluşturulup oluşturulmadığını kontrol eder. Bu test aşağıdaki adımları içerir:
- Desteklenen tüm test kalıpları için görüntüler yakalar.
- Düz renk testi deseni ve renk çubukları için basit bir doğruluk kontrolü gerçekleştirir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristic#SENSOR_AVAILABLE_TEST_PATTERN_MODES
android.hardware.camera2.CaptureResult#SENSOR_TEST_PATTERN_MODE
Başarılı: Desteklenen test kalıpları doğru şekilde oluşturulmuştur.
test_test_modelleri_2.jpg
test_tonemap_eğri
Doğrusal ton eşleme ile test kalıbının RAW'dan YUV'ye dönüşümünü test eder. Bu test, android.sensor.testPatternMode = 2
(COLOR_BARS) işlevinin ton eşleme dönüşümü için mükemmel bir resim kalıbı oluşturmasını gerektirir. Ardışık düzenin doğrusal ton eşleme ve ideal görüntü girişiyle (test_test_patterns
tabanlı) doğru renk çıkışlarına sahip olmasını sağlar.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_TEST_PATTERN_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Başarılı: YUV ve RAW birbirine benzer.
test_tonemap_curve_ham_2.jpg
test_tonemap_curve_yuv_2.jpg
test_unified_timestamp [test_unified_zaman_damgası]
Görüntü ve hareket sensörü etkinliklerinin aynı zaman alanında olup olmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.hardware.Sensor#TYPE_GYROSCOPE
Başarılı: Hareket zaman damgaları, iki resim zaman damgası arasındadır.
test_titreşim_kısıtlama
Cihaz titreşiminin beklendiği gibi çalışıp çalışmadığını test eder.
Test edilen API'ler:
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.Sensor#TYPE_ACCELEROMETER
android.os.Vibrator
android.hardware.camera2.CameraDevice#setCameraAudioRestriction
Geçiş: Kamera Audio restriction API tarafından sesi kapatıldığında cihaz titreşmez.
sahne1
Sahne1, gri bir grafiktir. Gri grafik, kamera görüş alanının ortadaki% 30'unu kapsamalıdır. Orta bölgede hiçbir özellik olmadığından gri grafikte 3A'yı (otomatik pozlama, otomatik beyaz dengesi, otomatik odaklama) orta düzeyde zorlaması beklenir. Ancak yakalama isteği, 3A'nın yakınlaşması için yeterli özellik içeren sahnenin tamamını belirtir.
RFoV kameralar, WFoV veya RFoV test düzeneğinde test edilebilir. WFoV test cihazında bir RFoV kamera test edilirse, 3A yakınsmasına yardımcı olmak amacıyla FoV'deki gri grafikte bazı sınırlar olmasını sağlamak için grafik 2⁄3 oranında ölçeklendirilir. Kamera test ekipmanları hakkında daha ayrıntılı açıklamalar için Kamera ITS'si bölümüne bakın.
1. sahne: Tam boyutlu grafik (solda). 2⁄3 ölçekli grafik (sağ).
test_3a
Orta düzeyde zor bir hedefle 3A'nın yakınsaklığını test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
Başarılı: 3A tümleşir ve döndürülen 3A değerleri geçerlidir.
test_ae_af
3 A otomatik pozlama (AE) ve otomatik odaklama (AF) algoritmalarını ayrı ayrı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
Başarılı: 3A yakınlaşıyor ve döndürülen 3A değerleri yasal.
test_ae_precapture_trigger
Önceden yakalama tetikleyicisini kullanırken AE durum makinesini test eder. AE devre dışıyken beş manuel isteği yakalar. Son istekte bir AE önceden yakalama tetikleyicisi var. AE devre dışı bırakıldığı için bu tetikleyicinin göz ardı edilmesi gerekir.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
Başarılı: Reklam Kitlesi (AE) kesişir.
test_auto_vs_manual
Otomatik ve manuel çekimler yapılan testler aynı görünür.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
Başarılı: Kameranın 3A algoritmasından otomatik beyaz dengesi estimate
ile her yakalama sonucu eşleşmesinde bildirilen manuel beyaz dengesi kazanımları ve dönüşümü.
test_auto_vs_manual_auto.jpg
test_auto_vs_manual_wb.jpg
test_auto_vs_manual_manual_wb_tm.jpg
test_siyah_beyaz
Cihazın tam siyah beyaz görüntüler üretip üretmediğini test eder. İlki çok düşük kazanca ve kısa pozlamaya sahip olan, diğeri siyah fotoğraf, ikincisi ise çok yüksek kazanım ve uzun pozlama ile beyaz fotoğraf ile sonuçlanır.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Geçti: Siyah beyaz resimler oluşturur. Beyaz resimlerin doymuş kanallarının RGB değerleri [255, 255, 255] olup hata payı %1'den azdır.
test_siyah_beyaz_siyah.jpg | test_siyah_beyaz_beyaz.jpg |
test_siyah_beyaz_diyagram_ortalaması.png
aynı_test_patlaması
Manuel çekim ayarıyla 50 görüntüden oluşan 5 seri çekim çeker ve bunların hepsinin aynı olup olmadığını kontrol eder. Bu test, farklı şekilde işlenen veya kusurlu kareler olup olmadığını belirlemek için kullanılabilir.
Test edilen API'ler:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR
android.hardware.camera2.CameraMetadata#SYNC_MAX_LATENCY_PER_FRAME_CONTROL
Başarılı: Resimler görsel olarak aynı ve RGB değerlerindedir.
Başarısız: Her seri çekimin başında RGB ortalama grafiğinde ani bir artış veya düşüş gösterir
first_API_level
< 30 için tolerans% 3'türfirst_API_level
>= 30 için tolerans% 2'dir
test_burst_sameness_manual_mean.jpg
test_burst_sameness_manuel_diyagram_means.png
test_yakalama_sonucu
Geçerli verilerin CaptureResult
nesnede geri gelip gelmediğini test eder. Video çekerken otomatik, manuel
ve otomatik çekim yapar.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AE_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AF_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_REGIONS
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Başarılı: Meta veriler tüm yakalamalar için geçerlidir ve manuel ayarlar ikinci otomatik yakalamaya sızmaz. Yakalamalar için lens gölgelendirmesi düzeltmesini çizer.
test_capture_sonuç_diyagramı_lsc_auto_ch0.png
test_kırpma_bölgesi_ham
RAW akışlarının kırpılabilir olmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureResult#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
Başarılı: YUV resimleri merkezden kırpılır ancak RAW resimler için geçerli değildir.
test_kırpma_bölgesi_ham_comp_ham_Kırpma.jpg
test_kırpma_bölgesi_ham_comp_ham_tam.jpg
test_kırpma_bölgesi_ham_comp_yuv_kırpma.jpg
test_kırpma_bölgesi_ham_yuv_tam.jpg
test_kırpma_bölgeleri
Kırpma bölgelerinin çalıştığını test eder. Resmin tamamını alır ve 5 farklı bölgeden (köşeler ve orta) yamaları oluşturur. 5 bölge için kırparak resim çeker. Yamayı ve kırpma resminin değerlerini karşılaştırır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
Başarılı: Kırpılan bölgenin resmi, kırpma resmine karşılık gelen yamayla eşleşir.
test_dng_noise_model
Ham DNG model parametrelerinin doğru olduğunu doğrular. Grafik, çeşitli hassasiyetler aralığında yakalanan ham çekimlerde gri kartın merkez bandının ölçülen varyansını gösterir ve bu değerleri, kamera HAL'sindeki DNG gürültü modelinin her bir hassasiyetinde beklenen varyansla karşılaştırır (yakalama sonucu nesnelerinde döndürülen O,S parametrelerine göre). DNG gürültü modeli hakkında daha ayrıntılı bilgi için DNG Gürültü Modeli üzerinde aşağıdaki belgeyi indirin.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CaptureResult#SENSOR_NOISE_PROFILE
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Başarılı: DNG ham model parametreleri doğru. Beklenen RGB değerleri, ölçülen gerçek RGB değerlerinin değerleriyle eşleşir.
test_dng_noise_model_plog.png
test_ev_kombinasyonu_gelişmiş
Pozlama değeri (EV) dengelemesinin uygulandığını test eder. Test, pozlama süresini sekiz adımda artırır ve ölçülen parlaklık ile beklenen parlaklık karşılaştırmasını kontrol eder. Beklenen değerler, EV düzeltmesi uygulanmadan resmin görüntü parlaklığına göre hesaplanır ve hesaplanan değerlerin gerçek görüntü değeri aralığını aşması durumunda beklenen değer doyacaktır. Beklenen değerler ile ölçülen değerler eşleşmezse veya resimler beş adımda aşırı pozlanırsa test başarısız olur.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#TONEMAP_CURVE
android.hardware.camera2.CaptureResult#TONEMAP_MODE
Başarılı: Resimler, beş adımda aşırı pozlama olmadan artan pozlamayı gösteriyor.
test_ev_kompensation_gelişmiş_diyagram_ortalaması.png
test_ev_compensation_temel
EV dengelemesinin CONTROL_AE_COMPENSATION_STEP
ile oluşturulan bir aralık kullanarak uygulandığını test eder. Her bir dengeleme değerinde sekiz kare yakalanır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_COMPENSATION_STEP
android.hardware.camera2.CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
android.hardware.camera2.CaptureResult#CONTROL_AE_EXPOSURE_COMPENSATION
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
Başarılı: Artırılmış EV dengeleme ayarıyla luma artışı yakalar ve her EV dengeleme ayarı için yakalanan sekiz kare sabit luma değerlerine sahiptir.
test_ev_compensation_temel.png
test_karşılaşması
ISO ve pozlama süresi değiştiğinden sabit bir maruz kalma elde edildiğini test eder. ISO ve pozlama süresinin dengeli bir şekilde belirtildiği bir dizi fotoğraf çeker.
Sonuçlar aynı parlaklığa sahip olmalıdır, ancak sıra arttığında resim daha gürültülü olacaktır. Örnek piksel ortalama değerlerinin birbirine yakın olduğunu doğrular. Resimlerin 0 veya 1'e sabitlenmemesini sağlar (bu da düz çizgiler gibi görünür). Test, yapılandırma dosyanızda debug
işareti ayarlanarak RAW resimlerle de çalıştırılabilir.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Başarılı: Resimler aynı parlaklığa sahiptir ancak daha yüksek ISO ile daha gürültülüdür. ISO*pozlama değeri test edilen kazanç alanı üzerinde sabit olduğunda RGB düzlemleri sabittir.
test_exposure_plot_means.png
test_exposure_mult=1.00.jpg | test_exposure_mult=64.00.jpg |
test_jpeg
Dönüştürülen YUV resimleri ile cihaz JPEG resimlerinin aynı görünüp görünmediğini test eder. Test, görüntünün% 10'unu merkeze alır ve RGB değerini hesaplayıp bunların eşleştiğini doğrular.
Test edilen API'ler:
Başarılı: Her resim arasındaki ortalama RGB farkı %3'ten azdır.
test_jpeg_fmt=jpg.jpg | test_jpeg=fmt=yuv.jpg |
test_mandalı
FULL
ve LEVEL_3
kameralarda ayarların (pozlama ve kazanç) doğru karede mandalını test eder. Arka arkaya istekleri kullanarak çekim isteği parametrelerini kareler arasında değiştirerek bir dizi çekim yapar. Resimlerin beklenen özelliklere sahip olup olmadığını kontrol eder.
Test edilen API'ler:
Başarılı: Resimler [2, 3, 6, 8, 10, 12, 13] ISO veya pozlamayı artırmıştır ve test_latching_plot_means.png
tarihinde daha yüksek RGB anlamına gelmektedir.
test_latching_i=00.jpg | test_latching_i=01.jpg | test_latching_i=02.jpg | |
test_latching_i=03.jpg | test_latching_i=04.jpg | test_latching_i=05.jpg | |
test_latching_i=06.jpg | test_latching_i=07.jpg | test_latching_i=08.jpg | |
test_latching_i=09.jpg | test_latching_i=10.jpg | test_latching_i=11.jpg | |
test_latching_i=12.jpg |
test_laketi_diyagramı.png
test_doğrusallık
Cihaz işlemenin doğrusal piksellere ters çevrilebileceğini test eder. Cihaz tek tip bir hedefe doğru tutulduğunda arka arkaya çekim yapar.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CaptureRequest#BLACK_LEVEL_LOCK
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Başarılı: R, G, B değerleri, daha hassas bir şekilde doğrusal olarak artmalıdır.
test_doğrusallık_diyagramı_ortalaması.png
kilitli_patlama_testi
3A kilidi ve YUV patlaması (otomatik ayar kullanılarak) test edilir. Bu test, MANUAL_SENSOR
veya PER_FRAME_CONTROLS
bulunmayan sınırlı cihazlarda bile başarılı olacak şekilde tasarlanmıştır.
Kare hızı kontrolü CTS'deyken test, YUV görüntüsünün tutarlılığını kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_LOCK
android.hardware.camera2.CaptureRequest#CONTROL_AWB_LOCK
Başarılı: Yakalamalar tutarlı görünüyor.
test_kilidi_patlama_karesi0.jpg
test_kilidi_patlama_karesi1.jpg
test_kilidi_patlama_karesi2.jpg
test_param_renk_düzeltmesi
Ayarlandığında android.colorCorrection.*
parametrelerinin uygulandığını test eder.
Farklı dönüşüm ve kazanç değerlerine sahip çekimler ve uygun şekilde farklı göründüklerini test eder. Dönüştürme ve kazançlar, çıktıyı daha fazla kırmızı veya mavi yapmak için seçilir. Doğrusal bir ton haritası kullanır. Ton eşleme, yüksek dinamik aralıklı resimlerin daha sınırlı bir dinamik aralığa sahip bir ortamda görünümünü yaklaşık olarak belirlemek üzere bir renk grubunu diğeriyle eşlemek için resim işlemede kullanılan bir tekniktir.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
Başarılı: R ve B değerleri dönüşüme göre artar.
test_param_renk_düzeltme_diyagramı_ortalaması.png
*X ekseni, yakalama istekleridir: 0 = birlik, 1=kırmızı güçlendirme, 2= mavi artış
test_param_color_troubleshoot_req=0.jpg
test_param_color_VERIFICATIONness_req=1.jpg (R artışı)
test_param_color_Correct_req=2.jpg (B güçlendirme)
test_param_exposure_time
android.sensor.exposureTime
parametresinin uygulandığını test eder.
Test edilen API'ler:
Başarılı: Her kare bir önceki çekimden daha parlaktır.
test_param_exposure_time_frame0.jpg
test_param_exposure_time_grafiği.png
test_paramı_flaş_modu
android.flash.mode
parametresinin uygulandığını test eder. Flaşın etkinleşip etkinleşmediği açıkça belli olacak şekilde pozlamayı karanlık tarafta olacak şekilde manuel olarak ayarlar ve doğrusal bir ton haritası kullanır. Flaşın etkinleşip etkinleşmediğini doğrulamak için oluşturulmuş büyük bir gradyan olup olmadığını görmek için karo resmin yer aldığı merkezi kontrol eder.
Test edilen API'ler:
Başarılı: Karo resminin ortasında flaşın etkinleştiği anlamına gelen büyük bir gradyan vardır.
test_param_flash_mode_1.jpg
test_param_flash_mode_1_tile.jpg
test_param_flash_mode_2.jpg
test_param_flash_mode_2_tile.jpg
test_param_noise_azaltma
Ayarlandığında android.noiseReduction.mode
parametresinin doğru şekilde uygulandığını test eder. Kamera loş ışık açıkken çeker. Çekilen görüntünün parazitli olmasını sağlamak için
yüksek bir analog kazanç kullanır. NR kapalı, "hızlı" ve "yüksek kalite" için üç görüntü yakalar. Ayrıca, düşük kazanç ve NR kapalı olduğu bir görüntüyü yakalar ve bunun varyansını referans değer olarak kullanır. SNR (Sinyal-Gürültü Oranı) yükseldikçe görüntü kalitesi de artar.
Test edilen API'ler:
Başarılı: SNR, farklı gürültü azaltma modlarına göre değişiklik gösterir ve aşağıdaki grafikle benzer şekilde davranır.
test_param_gürültü_azaltma_diyagramı_SNR'ler.png
0: KAPALI, 1: HIZLI, 2: HQ, 3: MİN , 4: ZSL
test_param_noise_reduction_high_gain_nr=0.jpg
test_param_noise_reduction_high_gain_nr=1.jpg
test_param_noise_reduction_high_gain_nr=2.jpg
test_param_noise_reduction_high_gain_nr=3.jpg
test_param_noise_reduction_low_gain.jpg
test_param_hassaslık
android.sensor.sensitivity
parametresinin uygulandığını test eder. Test, her çekimde sabit pozlama ile hassasiyeti 5 adımda artırır.
Test edilen API'ler:
Başarılı: RGB, merkezin% 10'u daha yüksek hassasiyetle daha parlak hale gelir.
test_param_sensitivity_iso=0055.jpg
test_param_sensitivity_iso=1819.jpg
test_param_sensitivity_iso=3583.jpg
test_param_sensitivity_iso=5347.jpg
test_param_sensitivity_iso=7111.jpg
test_param_hassaslık_diyagramı.png
test_paramı_gölgeleme_modu
android.shading.mode
parametresinin uygulandığını test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
android.hardware.camera2.CaptureResult#STATISTICS_LENS_SHADING_CORRECTION_MAP
Başarılı: Gölgelendirme modları değiştirilir ve lens gölgelendirme haritaları beklendiği gibi değiştirilir.
test_param_gölgeleme_modu_ls_haritalar_modu_0_döngü_0.png
test_param_gölgeleme_modu_ls_haritalar_modu_1_döngü_0.png
test_param_gölgeleme_modu_ls_haritalar_modu_2_döngü_0.png
test_param_tone eşlem_modu
android.tonemap.mode parametresinin uygulandığını test eder. Her bir R, G, B kanalına farklı ton eşlemesi eğrileri uygular ve çıkış resimlerinin beklendiği gibi değiştirilip değiştirilmediğini kontrol eder. Bu test, test1 ve test2 olmak üzere iki testten oluşur.
Test edilen API'ler:
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_CONTRAST_MODE
android.hardware.camera2.CameraMetadata#TONEMAP_MODE_FAST
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
Başarılı:
- test1: Her iki resimde de doğrusal bir ton eşlemesi var, ancak n=1'in daha dik bir gradyanı vardır. G (yeşil) kanalı, n=1 resmi için daha parlaktır.
- test2: Ton eşlemesi aynı, ancak uzunlukları farklı. Resimler aynı.
test_param_tonemap_mode_n=0.jpg | test_param_tonemap_mode_n=1.jpg |
ham_hassaslık_artırma_sonucu_test_sonrası
RAW hassasiyeti artışından sonra kontroller. Farklı hassasiyetle bir dizi RAW ve YUV resmi yakalar, RAW hassasiyeti artırma kombinasyonunu yayınlar ve çıkış pikselinin istek ayarlarıyla eşleşip eşleşmediğini kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Başarılı: RAW resimler daha koyu hale gelirken YUV resimleri parlaklıkta sabit kalır
test_post_raw_sensitivity_boost_raw_s=3583_boost=0100.jpg
test_post_raw_sensitivity_boost_raw_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_raw_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_raw_s=0448_boost=0800.jpg
test_post_raw_sensitivity_boost_raw_s=0224_boost=1600.jpg
test_post_raw_sensitivity_boost_raw_s=0112_boost=3199.jpg
test_sonrası_ham_hassaslık_artırma_oranı.png
test_post_ham_sensitivity_boost_yuv_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg
test_post_ham_sensitivity_boost_yuv_s=0896_boost=0400.jpg
test_post_raw_sensitivity_boost_yuv_s=1792_boost=0200.jpg
test_post_raw_sensitivity_boost_yuv_s=3585_boost=0100.jpg
test_sonrası_ham_hassaslık_artırma_yürütme_diyagramı.png
ham_patlama_hassaslığı
Artan kazançlarla bir dizi ham görüntü yakalar ve gürültüyü ölçer. Yalnızca ham olarak yakalar.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
Geçiş: Kazanç arttığı için her kare bir önceki çekimden daha gürültülüdür.
Orta istatistik ızgara hücresinin varyansını kullanır.
test_ham_patlama_hassaslık_varyansı.png
test_ham_pozlama
Artan pozlama süresiyle bir dizi ham görüntü yakalar ve piksel değerlerini ölçer.
Test edilen API'ler:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
Başarılı: ISO değerini (kazanç) artırdığınızda pikseller ışığa karşı daha hassas hale gelir, böylece grafik sola doğru hareket eder.
test_raw_exposure_s=55.png
(100 ms'dir, 101 10 ms'dir, 10−1 0,1 ms'dir)
test_raw_exposure_s=132.png
test_raw_exposure_s=209.png
test_raw_exposure_s=286.png
test_raw_exposure_s=363.png
test_raw_exposure_s=440.png
ham_hassaslık_testi
Artan hassasiyete sahip bir dizi ham görüntü yakalar ve görüntünün% 10'luk merkezindeki gürültüyü (varyansı) ölçer. Her çekimin bir öncekine göre daha gürültülü olup olmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
android.hardware.camera2.CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
Başarılı: Her karede varyans artar.
ham_hassaslık_varyansı.png
gürültü_azaltma_test_tekrar_işlemi
Yeniden işleme isteklerine android.noiseReduction.mode
öğesinin uygulandığını test eder.
Yeniden işlenmiş görüntüleri kamera loş ışık altında çeker. Yakalanan görüntünün parazitli
olmasını sağlamak için yüksek bir analog kazanç kullanır. NR kapalı, "hızlı" ve "yüksek kaliteli" için yeniden işlenmiş üç görüntü yakalar. Düşük kazanç ve NR kapalı olduğu için yeniden işlenmiş bir görüntü yakalar ve bunun varyansını referans değer olarak kullanır.
Test edilen API'ler:
Başarılı: HIZLI >= KAPALI, HQ >= HQ >> KAPALI
Tipik SNR ve NR_MODE grafiği
test_tonemap_sequence
Farklı ton haritası eğrilerine sahip bir dizi çekimi test eder. Doğrusal bir ton haritasıyla 3 manuel çekim yapabiliyorsunuz. Varsayılan ton haritasıyla 3 manuel çekim yakalar. Her bir ardışık kare çifti arasındaki deltayı hesaplar.
Test edilen API'ler:
Başarılı: Birbirinin aynı olan 3 kare ve ardından 3 tane aynı kareden oluşan farklı bir grup vardır.
test_tonemap_sequence_i=0.jpg
test_tonemap_sequence_i=1.jpg
test_tonemap_sequence_i=2.jpg
test_tonemap_sequence_i=3.jpg
test_tonemap_sequence_i=4.jpg
test_tonemap_sequence_i=5.jpg
test_yuv_jpeg_all
Görüntü yakalama için bildirilen tüm boyut ve biçimlerin işe yarayıp yaramadığını test eder. image_processing_utils
modülü tarafından dönüştürüldüğünde YUV ve JPEG'nin aynı görünmesi için doğrusal ton eşlemesine sahip manuel bir istek kullanır. Resimler varsayılan olarak kaydedilmez, ancak debug_mode
etkinleştirilerek kaydedilebilir.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
Başarılı: Tüm görüntü merkezlerinin, en yüksek çözünürlüklü YUV görüntüsüne sahip RGB'den dönüştürülmüş resimlerde maksimum RMS (bir sinyalin kök ortalama kare değeri) farkı vardır.
test_yuv_jpeg_all.png
test_yuv_plus_dng
Görüntü yakalama için bildirilen boyut ve biçimlerin işe yarayıp yaramadığını test eder.
Test edilen API'ler:
Başarılı: Test, istenen resimleri tamamlayıp döndürür.
test_yuv_plus_dng.jpg
test_yuv_plus_jpeg
Hem YUV hem de JPEG çıkışları olarak tek bir kare yakalamayı test eder. image_processing_utils
modülü tarafından dönüştürüldüğünde YUV ve JPEG'nin aynı görünmesi için doğrusal ton eşlemesine sahip manuel bir istek kullanır.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.graphics.ImageFormat#JPEG
Başarılı: YUV ve JPEG resimleri benzerdir ve% 1'den az RMS (bir sinyalin kök ortalama kare değeri) farkına sahiptir.
test_yuv_plus_jpg_jpg.jpg | test_yuv_plus_jpeg_yuv.jpg |
test_yuv_plus_ham
Hem RAW/RAW10/RAW12 hem de YUV çıkışları olarak tek bir kare yakalamayı test eder (destekleniyorsa). Ham ve YUV'nin aynı olması beklendiği için doğrusal ton eşlemeyle manuel istek kullanır. RGB'den dönüştürülmüş görüntülerin orta% 10 RGB değerlerini karşılaştırır. Günlüklerandroid.shading.mode
.
Test edilen API'ler:
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_MODE
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
android.hardware.camera2.CaptureRequest#CONTROL_MODE
android.hardware.camera2.CaptureRequest#SHADING_MODE
android.hardware.camera2.CaptureRequest#TONEMAP_CURVE
android.hardware.camera2.CaptureRequest#TONEMAP_MODE
android.hardware.graphics.ImageFormat#RAW10
android.hardware.graphics.ImageFormat#RAW12
Başarılı: YUV ve ham görüntüler benzerdir ve% 3,5'ten az RMS (bir sinyalin kök ortalama kare değeri) farkına sahiptir.
test_yuv_plus_raw_shading=1_raw.jpg | test_yuv_plus_raw_shading=1_yuv.jpg |
sahne2_a
sahne2_a'da gri arka planlı ve nötr giysilerle üç yüzü vardır. Yüzler, çok çeşitli ten rengine sahip olacak şekilde seçilir. Yüz algılamanın en iyi şekilde çalışması için grafiğin doğru yönde olması gerekir.
sahne2_a
otomatik_flaşı test et
Karanlık bir sahnede otomatik flaşın tetiklendiğini test eder. Döşeme resminin ortasındaki büyük bir gradyan kontrol edilerek otomatik flaşın etkinleştiğini doğrular. Otomatik flaşın tetiklenmesi için test düzeneğindeki tabletin ve ışıkların kapatılması gerekir. Tablet, test yapılarak kapatılmıştır. Işıklar, Arduino kumanda ile otomatik olarak kapatılabilir. Testin doğru şekilde çalışması için sahne tamamen karanlık olmalıdır. Bu nedenle, arka tabletin açıklığı sahne tableti tarafından tamamen kapatılmalıdır ve ön açıklık, uzak ışığın düzene girmesini engellemek için bir diyafram açıklığı ve DUT telefon ile kapatılmalıdır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#FLASH_MODE
Başarılı: Karo resminin ortasında otomatik flaşın etkinleştiği anlamına gelen büyük bir gradyan vardır.
test_otomatik çerçeveleme
Kamera cihazının otomatik çerçeveleme davranışını test eder. Sahnedeki yüzlerin hiçbirinin görünmediği şekilde büyük bir yakınlaştırma yapar, AUTOFRAMING
CaptureRequest
değerini True
olarak ayarlayarak otomatik çerçeveleme modunu etkinleştirir ve durum yakınlaştığında (yani CaptureResult
içindeki AUTOFRAMING_STATE
özelliği AUTOFRAMING_STATE_CONVERGED
olarak ayarlandığında) orijinal sahnedeki tüm yüzlerin algılanıp algılanmayacağını doğrular.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AUTOFRAMING_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING
android.hardware.camera2.CaptureResult#CONTROL_AUTOFRAMING_STATE
Başarılı: Üç yüz de algılandı.
test_display_p3
ColorSpaceProfiles
API'yi kullanarak JPEG biçiminde Display P3 yakalamayı test eder. Yakalanan JPEG'nin başlığında uygun bir ICC profiline sahip olup olmadığını ve resmin sRGB gamının dışında renkler içerip içermediğini test eder.
Test edilen API'ler:
android.hardware.camera2.params.ColorSpaceProfiles
android.hardware.camera2.params.SessionConfiguration#setColorSpace
Başarılı: JPEG, Display P3 ICC profili ve sRGB gamının dışında renkler içeriyor.
test_efektleri
Desteklenen kamera efektleri için kare kaydeder ve bunların doğru şekilde oluşturulup oluşturulmadığını kontrol eder. Test yalnızca OFF
ve MONO
efektlerini kontrol eder, ancak desteklenen tüm efektler için resimleri kaydeder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTS
android.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
Geçiş: Sahne resmini OFF
efektleriyle ve efektleri MONO
olarak ayarlanmış tek renkli resim yakalar.
test_efektleri_MONO.jpg
test_biçimi_komboları
Farklı çıkış biçimi kombinasyonlarını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes()
android.hardware.camera2.CameraCaptureSession#captureBurst()
Başarılı: Tüm kombinasyonlar başarıyla yakalanır.
test_jpeg_quality
Kameranın JPEG sıkıştırma kalitesini test eder. JPEG kalitelerini android.jpeg.quality
tarihine kadar uygulayın ve Nicelendirme Tablolarının doğru şekilde değişmesini sağlayın.
Test edilen API'ler:
Başarılı: Nicelendirme matrisi kalite artışıyla birlikte azalıyor. (Matris, bölme faktörünü temsil eder.)
Pixel 4 arka kamera luma/renk DQT matrisi ortalamaları ile JPEG kalitesi karşılaştırması
Başarısız test örneği
Çok düşük kaliteli resimler için (jpeg.quality < 50) miktar matrisinde sıkıştırmada artış olmadığını unutmayın.
yüz_sayısı
Yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Başarılı: Üç yüz bulur.
test_num_faces_fd_mode_1.jpg
test_önizleme_min_kare_oranı
Önizleme kare hızının karanlık bir sahnede doğru şekilde düşüp düşmediğini test eder. Bu testin doğru şekilde çalışması için test sistemindeki ışıklar, kumanda tarafından veya test operatörü tarafından manuel olarak kapatılmalıdır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#CONTROL_AE_TARGET_FPS_RANGE
android.media.CamcorderProfile
android.media.MediaRecorder
Başarılı: Önizleme kare hızı, istenen kare hızı aralığının minimumunda ve kareler arasındaki varyasyon, testte ayarlanan mutlak toleranstan az.
test_yeniden_işleme_uv_değişim
YUV yeniden işlemesinin, U ve V düzlemlerini değiştirmediğine dair testler. Bu durum, yeniden işlenmiş görüntü ile yeniden işlenmemiş yakalama arasındaki mutlak farkların (SAD) toplamı hesaplanarak tespit edilir. Yeniden işlenen yakalamanın U ve V düzlemlerinin değiştirilmesi, SAD'nin artmasına yol açarsa çıkışın doğru U ve V düzlemlerine sahip olduğu varsayılır.
Test edilen API'ler:
android.hardware.camera2.CameraDevice#createCaptureSession
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureResult#NOISE_REDUCTION_MODE
Geçiş: U ve V uçakları değiştirilmez.
test_yeniden_işleme_uv_değişim.png
sahne2_b
yüz_sayısı
Yüz sahnelerinde daha fazla ten rengi sunarak yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Başarılı: 3 yüz bulur.
test_num_faces_fd_mode_1.jpg
test_yuv_jpeg_capture_aynılık
1920x1440 çözünürlüğü aşmayan en büyük JPEG biçimiyle aynı en boy oranına sahip en büyük YUV ve JPEG biçimlerini kullanarak iki resim çeker.
jpeg.quality
değerini 100 olarak ayarlar ve bir çift yüzey isteği yakalar. Her iki görüntüyü RGB dizilerine dönüştürür ve iki görüntü arasındaki 3D kök ortalama kare (RMS) farkını hesaplar.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
android.hardware.camera2.CaptureRequest#JPEG_QUALITY
android.graphics.ImageFormat#JPEG
Başarılı: YUV ve JPEG resimleri benzerdir ve% 1'den az RMS (bir sinyalin kök ortalama kare değeri) farkına sahiptir.
sahne2_c
yüz_sayısı
Yüz sahnelerinde daha fazla ten rengi sunarak yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Başarılı: 3 yüz bulur.
test_num_faces_fd_mode_1.jpg
test_jpeg_capture_perf_class
CDD'nin bölüm 2.2.7.2 Kamera'da belirtildiği gibi, S performans sınıfı için JPEG yakalama gecikmesini test eder.
Başarılı: Her iki birincil kamera için ITS ışıklandırma koşulları (3000 K) altında CTS kamera PerformanceTest tarafından ölçüldüğü üzere, 1.080p çözünürlük için Camera2 JPEG yakalama gecikmesinin 1.000 ms'den az olması ZORUNLUDUR.
test_kamera_başlatma_perf_sınıfı
CDD'deki bölüm 2.2.7.2'de belirtildiği gibi, S performans sınıfı için kamera başlatma gecikmesini test eder.
Başarılı: Her iki birincil kamera için de ITS ışıklandırma koşulları (3000K) altında CTS kamera PerformanceTest tarafından ölçüldüğü üzere kamera2 başlatma gecikmesinin (kamerayı ilk önizleme karesine açma) 600 ms'den az olması ZORUNLUDUR.
sahne2_d
yüz_sayısı
Yüz sahnelerinde daha fazla ten rengi sunarak yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Başarılı: 3 yüz bulur.
sahne2_e
sürekli_resim_test
Yakalama isteğinin ilk ayarıyla 50 VGA çözünürlük karesi yakalanır
android.control.afMode = 4 (CONTINUOUS_PICTURE).
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AF_MODE
android.hardware.camera2.CaptureResult#CONTROL_AE_STATE
android.hardware.camera2.CaptureResult#CONTROL_AF_STATE
android.hardware.camera2.CaptureResult#CONTROL_AWB_STATE
Başarılı: 3A sistemi, 50 karelik bir yakalamanın sonunda durur.
yüz_sayısı
Yüz sahnelerinde daha fazla ten rengi sunarak yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Başarılı: 3 yüz bulur.
sahne2_f
sahne2_f'de, arka planı beyaz ve kıyafetli üç yüzü var. Yüzlerin farklı ten rengine sahip olması ve arka planla yüksek kontrastları vardır.
sahne2_f
yüz_sayısı
Yüz sahnelerinde daha fazla ten rengi sunarak yüz algılamayı test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#STATISTICS_FACES
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Başarılı: 3 yüz bulur.
test_num_faces_fd_mode_1.jpg
sahne3
Scene3, ISO12233 grafiğini kullanır ve çoğu test, sahnedeki grafiği bulmak için bir grafik ayıklayıcı yöntemi kullanır. Bu nedenle, kaydedilen resimlerin çoğu sahne 1, 2 veya 4'teki resimler gibi kenarlıklarla değil, yalnızca grafik içerir. Grafik bulucunun en iyi şekilde çalışması için grafik doğru yönde olmalıdır.
test_3a_tutarlılık
3A tutarlılığını test eder.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_GAINS
android.hardware.camera2.CaptureRequest#COLOR_CORRECTION_TRANSFORM
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#SENSOR_EXPOSURE_TIME
android.hardware.camera2.CaptureResult#SENSOR_SENSITIVITY
Başarılı: 3A; pozlama, kazanç, awb (otomatik beyaz dengesi) ve fd (odak mesafesi) için tolerans dahilinde üç kez birleşir.
test_kenarı_geliştirme
android.edge.mode
parametresinin doğru şekilde uygulandığını test eder. Her kenar modu için yeniden işlenmeyen görüntüleri yakalar ve çıkış görüntüsü ile yakalama sonucu meta verisinin keskinliğini döndürür. Yakalama isteğini belirli bir sınır modu, hassasiyet, pozlama süresi, odak mesafesi ve çıkış yüzeyi parametresiyle işler.
Başarılı: HQ
modu (2) OFF
modundan (0) daha keskindir. FAST
modu (1), OFF
modundan
daha keskindir. HQ
modu, FAST
moduna daha keskin veya eşit.
Test edilen API'ler:
Etkilenen kamera parametreleri:
EDGE_MODE
test_edge_enhancement_edge=0.jpg
test_edge_enhancement_edge=1.jpg (hızlı mod)
test_edge_enhancement_edge=2.jpg (yüksek kaliteli mod)
test_flip_ayna
Görüntünün CDD bölüm 7.5.2 Ön Yüzey Kamera [C-1-5] bölümüne göre doğru şekilde yönlendirilip yönlendirilmediğini test eder.
Yansıtılmış, çevrilmiş veya döndürülmüş görüntüler, ortaya yakın yerde bulunan elmas özelliğiyle tanınabilir.
Başarılı: Resim döndürülmüyor, yansıtılmıyor veya döndürülmüyor.
test_flip_ayna_sahne_yamasi.jpg
portre_yatay_testi
Yataydan dikey yöndeki geçersiz kılmanın, yatay sensörler için doğru şekilde çalışıp çalışmadığını test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES
android.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATION
android.hardware.camera2.CameraCharacteristics#getCameraCharacteristics
Başarılı: Test, beklenen dönüşe sahip bir grafiği bulabilir (yataydan dikey konuma geçiş devre dışı bırakıldığında 0 derece, etkinleştirildiğinde 90 derece).
portrait_test_manzarası.png
test_lens_movement_raporlama
Lens hareketi işaretinin doğru şekilde bildirilip bildirilmediğini test eder. İlk 12 kare optimum odak uzaklığında (3 A'da bulunan şekilde) ve son 12 kare minimum odak mesafesinde olacak şekilde 24 görüntüden oluşan seri çekim yakalar. 12. kare çevresinde lens hareket eder ve keskinliğin düşmesine neden olur. Mercek son konuma yaklaştıkça keskinlik stabil hale gelir. Mercek hareketi işareti, lensin optimum odak uzaklığında sabit olduğu ilk birkaç karede ve lensin minimum odak uzaklığında sabit olduğu son birkaç karede keskinliğin orta düzeyde keskinlik olduğu tüm karelerde belirtilmelidir. Merceğin hareket ettiği tam kare önemli değildir: İşaretlenen, mercek hareket ederken hareket bayrağının onaylandığıdır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#LENS_STATE
android.hardware.camera2.CaptureResult#LENS_FOCUS_DISTANCE
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureRequest#LENS_FOCUS_DISTANCE
Başarılı: Keskinlik değişimiyle karede Lens hareketi işareti True
.
Başarısızlık mekanizmaları:
test_log.DEBUG
öğesindelens_moving: True
(android.hardware.camera2.CaptureResult#LENS_STATE
= 1), yalnızca keskinliğin değişmediği karelerde belirtilir.test_log.DEBUG
içindelens_moving: False
(android.hardware.camera2.CaptureResult#LENS_STATE
= 0) bulunan karelerde, optimum odak mesafesindeki ilk birkaç kareye veya minimum odak mesafesindeki son birkaç kareye kıyasla bir keskinlik farkı vardır.
test_yeniden_işleme_ucu_geliştirme
Uç geliştirme için desteklenen yeniden işleme yöntemlerinin düzgün çalışıp çalışmadığını test eder. Yakalama isteğini belirli bir yeniden işleme uç moduyla işler ve yeniden işleme kenar modları devre dışıyken yakalamak için farklı modları karşılaştırır.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#EDGE_MODE
android.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
Başarılı: Farklı kenar modlarında keskinlik. HQ
(mod 2), OFF
'dan (mod 0) daha keskindir ve farklı modlar arasındaki iyileşme benzerdir.
test_yeniden_işleme_ucu_geliştirme_diyagramı.png
sahne4
Scene4, kare içinde beyaz bir arka plan üzerinde siyah bir daireden oluşuyor.
sahne4
test_en boy_oranı_ve_kırpma
Görüntülerin, görüntü ardışık düzeninde beklenmedik bir şekilde bozulup bozulmadığını veya kırpılıp kırpılmadığını test eder. Bir dairenin tüm biçimlerdeki resmini çeker. Dairenin bozuk olmadığını, dairenin resmin merkezinden hareket etmediğini ve farklı en boy oranlarında veya çözünürlüklerde yanlış bir şekilde boyut değiştirmediğini doğrular.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
Başarılı: Resimler uzatılmaz, resimlerin ortası %3'ten fazla farklılık göstermiyor ve mümkün olan maksimum FoV (görüş alanı) korunur.
Başarısızlık mekanizmaları:
- Kamera, çekilen sahnenin ortasında, tablette gösterilen çemberle hizalı değildir.
- Yakalanan görüntüdeki daire, işleme ardışık düzeni tarafından bozulmuş.
- Düşük çözünürlüklü resimler, resim ardışık düzeninde iki kez kırpılarak yüksek ve düşük çözünürlüklü resimler arasında farklı FoV'ler oluşturulur.
- Yakalanan resimdeki daire, resmin yüksekliğini veya genişliğini azaltan aşırı bir en boy oranı yakalama isteği nedeniyle kırpılmıştır.
- Çekilen görüntüdeki dairenin merkezinde bir yansıma vardır ve tamamen dolu görünmez.
test_çoklu_kamera_hizalama
Çok kameralı sistemler için kameranın konumlandırmasıyla ilgili kamera kalibrasyon parametrelerini test eder. Çok kameralı fiziksel alt kameralar kullanıldığında, fiziksel kameralardan biriyle resim çekilir. Dairenin merkezini bulur. Daire merkezini her bir kamera için dünya koordinatlarına yansıtır. Dünya koordinatlarında kameraların çember merkezleri arasındaki farkı karşılaştırır. Dünya koordinatını piksel koordinatlarına göre yeniden planlar ve doğruluk kontrolü olarak orijinallerle karşılaştırır. Kameraların odak uzaklıklarının farklı olup olmadığını kontrol ederek daire boyutlarını karşılaştırır.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraCharacteristics#LENS_DISTORTION
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_ROTATION
android.hardware.camera2.CameraCharacteristics#LENS_POSE_TRANSLATION
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.CaptureRequest#SCALER_CROP_REGION
android.hardware.camera2.CaptureRequest#DISTORTION_CORRECTION_MODE
Başarılı: Daire merkezleri ve boyutları, kamera kalibrasyon verileri ve odak uzaklıkları kullanılarak çekilen görüntülere kıyasla, öngörülen görüntülerde beklendiği gibidir.
Başarısızlık mekanizmaları:
LENS_INTRINSIC_CALIBRATION
,LENS_POSE_TRANSLATION
veyaLENS_POSE_ROTATION
tasarım değerleridir ve gerçek kalibrasyon verileri değildir.- Kamera sistemi test kurulumu için uygun değil. Örneğin, RFoV test düzeneği ile geniş ve ultra geniş bir kamera sistemini test etmek. Daha fazla bilgi için Kamera ITS'si ile ilgili SSS1 bölümünü inceleyin.
test_önizleme_en boy_oranı_ve_kırpma
Hareketsiz çekimler için test_aspect_ratio_and_crop testine benzer şekilde bu test, önizleme karelerinin uzatılmadığından veya uygun şekilde kırpılmadığından emin olmak için desteklenen önizleme biçimlerini kontrol eder. Dairenin en boy oranının değişmediğini, kırpılan resimlerin daireyi çerçevenin merkezinde tuttuğunu ve daire boyutunun sabit bir biçim veya farklı çözünürlüklerde (görüş alanı kontrolü) değişmediğini doğrular.
Test edilen API'ler:
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Başarılı: Resimler uzatılmaz, resimlerin ortası %3'ten fazla farklılık göstermez ve mümkün olan maksimum FoV (görüş alanı) korunur.
test_önizleme_stabilization_fov
FoV'nin uygun şekilde kırpıldığından emin olmak için desteklenen önizleme boyutlarını kontrol eder.
Test sonucunda biri önizleme sabitlemesi ON
, diğeri ise önizleme sabitlemesi OFF
olan iki video yakalandı. Her videodan temsili bir kare seçilir ve iki videodaki FoV değişikliklerinin spesifikasyona uygun olduğundan emin olmak için analiz edilir.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Başarılı: Daire en boy oranı sabit kalır, dairenin merkez konumu sabit kalır ve dairenin boyutu %20'den fazla değişmez.
test_video_en_oranı_ve_kırpma
Tüm video biçimlerinin üzerinde, bir karenin içindeki bir dairenin videolarını çeker. Animasyon karelerini çıkarır ve dairenin en boy oranının değişmediğini doğrular, kırpılan resimler daireyi ortada tutar ve daire boyutu sabit biçimde veya farklı çözünürlükte değişmez (görüş alanı kontrolü).
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CaptureResult#LENS_DISTORTION
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
android.media.MediaRecorder
android.media.CamcorderProfile
Başarılı: Video kareleri uzatılmaz, karelerin ortası %3'ten fazla farklılık göstermez ve mümkün olan maksimum FoV (görüş alanı) korunur.
sahne5
Scene5'te eşit şekilde aydınlatılmış gri bir sahne gerekir. Bu işlem, kamera lensine yerleştirilen bir
difüzörle gerçekleştirilir. Aşağıdaki difüzörü öneririz:
www.edmundoptics.com/optics/window-diffusers/optical-diffusers/opal-diffusing-glass/46168
.
Sahneyi hazırlamak için kameranın önüne bir difüzör takın ve kamerayı yaklaşık 2000 lüks ışıklandırma kaynağına doğrultun. Sahne5 için çekilen görüntülerde, hiçbir özelliğin belirlenmediği dağınık ışıklandırma gerekir. Aşağıda örnek bir görüntü verilmiştir:
sahne5 çekimi
test_lens_gölgelemesi_ve_renk_tek tiplik
Lens gölgelendirmesi düzeltmesinin uygun şekilde uygulandığını ve tek renkli tek tip bir sahnenin renginin eşit olarak dağıtıldığını test eder. Bu testi otomatik 3A ile bir YUV çerçevesi üzerinde gerçekleştirir. Lens gölgelendirmesi, y kanalına göre değerlendirilir. Belirtilen her örnek blok için ortalama y değerini ölçer ve ortadaki y değeriyle karşılaştırarak başarılı veya başarısız olduğunu belirler. Renk bütünlüğü testi r/g ve b/g alanında değerlendirilir.
Test edilen API'ler:
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
Başarılı: Resmin belirtilen yarıçapında, r/g ve b/g değerinin varyansı testi geçmek için% 20'den az olmalıdır.
sahne6
Scene6, bir köşesinde yönü belirtmek için karenin bulunduğu küçük dairelerden oluşan bir ızgaradır. Küçük daireler, yakınlaştırma işlevini geniş bir aralık üzerinde test etmek için gereklidir.
sahne6
Sensörde_yakınlaştırma_testi
Kırpılmış RAW resimler oluşturan, kameranın sensör içi yakınlaştırma özelliğinin davranışını test eder.
Akış kullanım alanı CROPPED_RAW
olarak ayarlandığında, test yakınlaştırma aralığı üzerinden iki yakalama alır: tam görüş alanı (FoV) RAW resmi ve kırpılmış bir RAW resim. Test, resimleri RGB dizilerine dönüştürür, tam boyutlu kırpılmış RAW görüntüsünü SCALER_RAW_CROP_REGION
tarafından bildirilen boyuta düşürür ve iki resim arasındaki 3D kök ortalama kare (RMS) farkını hesaplar.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.hardware.camera2.CameraMetadata#SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#SCALER_RAW_CROP_REGION
Başarılı: Aşağı ölçeklenmiş kırpılmış RAW resmi ile tam FoV RAW resmi arasındaki 3D kök ortalama kare (RMS) farkı %1'den azdır.
test_yakınlaştırma
Kameranın yakınlaştırma davranışını test eder. Yakınlaştırma aralığı üzerinden çekimler yapar ve kamera yakınlaştıkça dairelerin büyüyüp büyümediğini kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Başarılı: Çekilen dairenin göreli boyutu, kameranın doğru yakınlaştırma yaptığından emin olmak için, istenen yakınlaştırma oranına göre doğru hesaplanır.
merkeze en yakın dairenin dış çizgisini bulmak için test_zoom yöntemini kullanın.
test_düşük_gecikme_yakınlaştırma
Kameranın düşük gecikmeli yakınlaştırma davranışını test eder. android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM)
ile yakınlaştırma aralığı üzerinden görüntüleri alır ve çıkış görüntülerindeki dairelerin yakalama meta verilerindeki yakınlaştırma oranlarıyla eşleşip eşleşmediğini kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_SETTINGS_OVERRIDES
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CaptureRequest#CONTROL_SETTINGS_OVERRIDE
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#CONTROL_SETTINGS_OVERRIDE
Başarılı: Yakalanan dairenin göreli boyutu, yakınlaştırma oranı sonuç meta verilerine göre doğrudur.
test_önizleme_video_yakınlaştırma_eşleşmesi
Kayıt ve yakınlaştırma sırasında video önizleme ve video çıkışının gösterilip gösterilmediğini test eder ve aynı çıkışı kaydeder. Farklı yakınlaştırma oranlarında merkeze en yakın dairenin boyutunu hesaplar ve yakınlaştırma oranı arttıkça dairenin boyutunun da artıp artmadığını kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#CONTROL_ZOOM_RATIO_RANGE
android.hardware.camera2.CameraCharacteristics#LENS_INFO_AVAILABLE_FOCAL_LENGTHS
android.hardware.camera2.CaptureRequest#CONTROL_ZOOM_RATIO
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
Başarılı: Yakalanan dairenin göreceli boyutu, video ve önizlemedeki istenen yakınlaştırma oranına göre doğrudur.
VGA_640x480_key_frame.png (yakınlaştırmadan önce)
preview_640x480_key_frame.png (yakınlaştırmadan önce)
VGA_640x480_key_frame.png (yakınlaştırmadan sonra)
preview_640x480_key_frame.png (yakınlaştırmadan sonra)
sahne_uzantıları
scene_extensions
testleri, kamera uzantıları içindir ve test ortamı üzerinde hassas bir kontrole ihtiyaç duydukları için Kamera ITS'sini kullanmalıdır.
sahne_hdr
scene_hdr
sahnesinin sol tarafında dikey bir resim ve sağ tarafta düşük kontrastlı bir QR kodu bulunur.
sahne_hdr
test_hdr_uzantısı
HDR uzantısını test eder. Uzantı etkin ve etkin değilken yakalamaları alır ve uzantının QR kodunu daha algılanabilir hale getirip getirmediğini kontrol eder.
Test edilen API'ler:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
Başarılı: HDR uzantısı, QR kodunu algılamak için gereken kontrast değişikliklerinin sayısını azaltır veya QR kodu genelinde gradyanı azaltır.
sahne_gecesi
scene_night
sahnesi, içinde siyah bir arka plan üzerinde dört küçük daire
olan beyaz bir daireden oluşur. Sağ üst köşedeki küçük daire, yönü belirtmek için diğerlerinden daha koyudur.
sahne_gecesi
test_gecesi_uzantısı
Gece uzantısını test eder. Uzantı etkinleştirilmiş ve etkin değilken yakalamaları alır ve aşağıdakileri kontrol eder:
- Gece uzantısı etkinleştirilmişse çekim daha uzun sürer.
- Gece uzantısı etkinleştirildiğinde fotoğraf daha parlak olur veya iyileştirilmiş bir görünüme sahip sahne yapılarına sahiptir.
Test edilen API'ler:
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
android.hardware.camera2.CameraExtensionSession#capture
Başarılı: Gece uzantısı etkinleştirilmemiş çekimlerle karşılaştırıldığında Gece uzantısı etkinleştirilmiş olan çekim en az 0, 5 saniye sürer. Yakalama, en az% 10 daha parlak olmalıdır veya sahnedeki gri noktalar, etrafındaki dairenin merkezinden 20 piksel daha aşağıda olmalıdır.
sensör_füzyonu
Sensör füzyon testleri, dama tahtası deseninin önünde belirli bir telefon hareketi gerektirir. En iyi sonuçlar için test grafiğinin düz bir şekilde yerleştirildiğinden emin olun. Düz olmayan grafikler, testlerin çoğu için rotasyon hesaplamalarını etkiler.
sensor_fusion
testleri, Sensor Fusion Box ile otomatikleştirilebilir.
Dama tahtası resmi
test_çoklu_kamera_karesi_senkronizasyon
Zaman damgasını belirlemek için dama tahtası içindeki karelerin açılarını hesaplayarak mantıksal kamera tarafından yakalanan kare zaman damgalarının 10 ms. içinde olduğunu test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE
android.hardware.camera2.CameraCharacteristics#getPhysicalCameraIds()
android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA
android.hardware.camera2.params.OutputConfiguration#setPhysicalCameraId()
Geçiş: Telefon döndürüldüğünden her kameradan görüntüler arasındaki açı önemli ölçüde değişmez.
önizleme_stabilizasyonu
Sabitlenmiş önizleme videosunun jiroskoptan daha az döndüğünü test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Geçti: Kareler üzerinde maksimum açı döndürme, jiroskop dönüşünün% 70'inden azdır.
Aşağıda sabitleme kullanılan ve olmayan örnek videolar verilmiştir.
Sabitleme uygulanmış örnek video
Sabitlemesiz örnek video
test_sensörü_füzyonu
AR ve VR uygulamaları için kamera ile jiroskop arasındaki zaman damgası farkını test eder. Telefon, dama tahtası deseninin önünde 90 derece 10 kez döndürülür. Hareket yaklaşık 2 sn'lik gidiş dönüştür. Herhangi bir jiroskop eklenmezse veya zaman damgası kaynağı REALTIME
parametresi etkinleştirilmediyse bu test atlanır.
test_sensor_fusion
testi birkaç grafik oluşturur. Hata ayıklamayla ilgili en önemli iki grafik şunlardır:
test_sensor_fusion_gyro_events
: Test sırasında telefonun jiroskop etkinliklerini gösterir. X ve y yönünde hareket etmek, telefonun montaj plakasına güvenli bir şekilde takılmadığı anlamına gelir. Bu da testin geçme olasılığını azaltır. Grafikteki döngü sayısı, çerçeveleri kaydetmek için kullanılan yazma hızına bağlıdır.test_sensörü_fusion_gyro_etkinlikleri
test_sensor_fusion_plot_rotations
: Jiroskop ve kamera etkinliklerinin hizalamasını gösterir. Bu grafikte, kamera ile jiroskop arasındaki eşleşen hareketi +/-1 ms. göstermelidir.test_sensörü_füzyon_rotasyonları
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#LENS_FACING
android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
android.hardware.camera2.CameraMetadata#SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION
android.hardware.camera2.CaptureRequest#SENSOR_TIMESTAMP
android.hardware.camera2.CaptureResult#SENSOR_ROLLING_SHUTTER_SKEW
Başarılı: CDD bölümü 7.3.9 Yüksek Kaliteli Sensörler [C-2-14] uyarınca, kamera ve jiroskop zaman damgalarının farkı 1 ms'den azdır.
Başarısızlık mekanizmaları:
- Kaydırma hatası: Kamera-jiroskop ofseti, +/-1 ms. içinde olacak şekilde doğru şekilde kalibre edilmemiş.
- Kare düşüşleri: Ardışık düzen, art arda 200 kare yakalayacak kadar hızlı değil.
- Yuva hataları:
adb
, testi yürütülecek kadar uzun süre DUT'ye güvenilir şekilde bağlanamaz. - Grafik düz eklenmez.
test_sensor_fusion_plot_rotations
grafiğinde, kamera grafiğin düz olmayan kısımları arasında dönerken jiroskop ve kamera dönüşünün önemli ölçüde değiştiği kareler bulunmaktadır. - Kamera düz bir şekilde monte edilmemiş.
test_sensor_fusion_gyro_events
grafiği, X ve Y düzlemlerindeki hareketi gösteriyor. Arka kamerada çoğu zaman telefon gövdesinin geri kalanına yükseltilmiş bir çıkıntı olduğundan, telefonun arkasını montaj plakasına monte ederken bir eğilim oluştuğundan bu hata ön kameralarda daha yaygındır.
video_stabilizasyonu
Sabitlenmiş videonun jiroskoptan daha az döndüğünü test eder.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
android.media.MediaRecorder
android.media.CamcorderProfile
Geçti: Kareler üzerinde maksimum açı döndürme, jiroskop dönüşünün% 60'ından azdır.
Aşağıda sabitleme kullanılan ve olmayan örnek videolar verilmiştir.
Sabitleme uygulanmış örnek video
Sabitlemesiz örnek video
test_led_anlık_görüntü
LED anlık görüntülerinin görüntüyü doymadığını veya renklendirmediğini test eder.
Bu test, ışıkları kontrol etmek için sensör füzyon kutusuna bir ışıklandırma denetleyicisi ekler. Işıklar OFF
olarak ayarlandığında, test AUTO_FLASH
modu ON
olarak ayarlanarak fotoğraf çeker. Bu yakalama sırasında test, aePrecapture
tetikleyicisi START
olarak ayarlanmış bir önceden yakalama sırası çalıştırır ve yakalamayı flash ile almak için yakalama amacını Preview
olarak ayarlar.
Yakalamanın flaş nedeniyle ayırt edici bir hotspot'u olduğundan test, tüm yakalamanın flaş görüntü ortalamasını hesaplar ve değerin (68, 102) aralığında olup olmadığını doğrular. Resmin makul ölçüde beyaz dengeli olup olmadığını kontrol etmek için test, R/G ve B/G oranlarını hesaplar ve oranların 0,95 ile 1,05 dahilinde olup olmadığını doğrular.
Test edilen API'ler:
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
android.hardware.camera2.CaptureRequest#FLASH_MODE
Başarılı: R/G ve S/G oranları 0,95 ve 1,05 dahilinde. Flash görüntüsü ortalaması (68, 102) aralığındadır.