Bu sayfada, Android Uyumluluk Testi Paketi (CTS) Doğrulayıcının bir parçası olan Kamera Görüntüsü Test Paketi (ITS) kapsamındaki testlerin kapsamlı bir listesi sunulmaktadır. ITS testleri işlevsel testlerdir; yani görüntü kalitesini ölçmezler, ancak reklamı yapılan tüm kamera işlevlerinin beklendiği gibi çalıştığı anlamına gelir. Bu belge, geliştiricilerin ve test uzmanlarının bireysel testlerin ne yaptığını ve test hatalarındaki hataları nasıl ayıklayacaklarını anlamalarını sağlar.
Kamera ITS kapıları, gerekli kamera özelliklerine, API düzeyine ve medya performans sınıfı (MPC) düzeyine göre test eder. API düzeyi için ITS, daha düşük API düzeylerinde işlevsellik açısından olumsuz kullanıcı deneyimlerini test eden belirli bir API düzeyine eklenen testleri geçmek için ro.product.first_api_level
kullanır. ITS, yeni donanım yeteneği gerektiren belirli bir API düzeyinde eklenen özelliklere yönelik testleri geçmek için ro.vendor.api_level
kullanır. Bir cihaz için ro.odm.build.media_performance_class
tanımlanmışsa ITS, MPC düzeyine bağlı olarak belirli testlerin yürütülmesini gerektirir.
Testler aşağıdaki gibi sahneye göre gruplandırılmıştır:
- scene0 : Meta verileri, titreşimi, jiroskopu, titreşimi yakalayın
- sahne1 : Pozlama, hassasiyet, EV telafisi, YUV ve JPEG/RAW
- sahne2 : Yüz algılama, renkli sahneler veya tamamen karanlık gerektiren testler
- sahne3 : Kenar geliştirme, lens hareketi
- sahne4 : En boy oranı, kırpma, görüş alanı
- sahne5 : Mercek gölgeleme
- sahne6 : Yakınlaştırma
- scene_extensions : Kamera uzantıları
- sensör_füzyon : Kamera/jiroskop zamanlama farkı
Her sahnenin açıklaması için ayrı bölümlere bakın.
sahne0
Sahne0 testleri belirli bir sahne bilgisi gerektirmez. Ancak jiroskop ve titreşim testleri için telefonun sabit olması gerekir.
test_burst_capture
Tüm yakalama hattının tam boyutlu yakalama hızına ve CPU süresine ayak uydurabildiğini doğrular.
Test edilen API'ler:
Geçiş: Bir dizi tam boyutlu görüntü yakalar ve kamera, zaman aşımını önleyecek kadar hızlıdır.
test_capture_result_dump
Bir yakalama sonucunun manuel yakalamadan döndürüldüğünü test eder ve ardından onu döker.
Test edilen API'ler:
Geçiş: Yakalamayı tamamlar ve yakalama sonuçlarını döker.
test_gyro_bias
Cihaz sabitken jiroskopun kararlı çıkışı olup olmadığını test eder. Veriler ortalama 20 veri noktası olarak çizilmiştir.
Test edilen API'ler:
Başarılı: Jiroskop okumasının deltası zamanla 0,01'den azdır.
test_gyro_bias_plot.png
test_jitter
Kamera zaman damgalarındaki titreşimi ölçer.
Test edilen API'ler:
-
android.hardware.camera2.CaptureResult#SENSOR_TIMESTAMP
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
Geçiş: Çerçeveler arasında en az 30 ms'lik bir delta vardır.
test_jitter_plot.png (Küçük y ekseni aralığına dikkat edin. Bu çizimde titreşim aslında küçüktür.)
test_metadata
Meta veri girişlerinin geçerliliğini test eder. Yakalama sonuçlarına ve kamera özellikleri nesnelerine bakar. Bu test, resim içeriği önemli olmadığından auto_capture_request
pozlama ve kazanç değerlerini kullanı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
Geçiş: Donanım düzeyi, rollingShutterSkew
, frameDuration
etiketleri, timestampSource
, croppingType
, blackLevelPattern
, pixel_pitch
, FoV, hiperfokal mesafe mevcuttur ve geçerli değerlere sahiptir.
test_param_sensitivity_burst
android.sensor.sensitivity
parametresinin seri çekimde düzgün şekilde uygulandığını test eder. Yalnızca çıktı 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_read_write
Yakalama meta verilerini tekrar okuyarak cihazın doğru pozlamayı ve kazanç değerlerini yazdığı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 çekimlerde eşleşir.
test_sensor_events
Cihazın, sensör füzyon desteği reklamı yapan cihazlar için sensör olaylarını sorguladığını ve yazdırdığını test eder. Beklenen sensörler ivmeölçer, jiroskop ve manyetometredir. Bu test yalnızca ekran açıkken çalışır, yani cihaz bekleme modunda değildir.
Test edilen API'ler:
Başarılı: Her sensör için olaylar alınır.
test_solid_color_test_pattern
Kameranın sesini kapatmak için düz renk test desenlerinin düzgün şekilde oluşturulduğunu test eder. Kameranın sesini kapatma destekleniyorsa düz renk test desenleri desteklenmelidir. Kameranın sesini kapatma desteklenmiyorsa düz renk test modelleri yalnızca bu özelliğin tanıtılması durumunda test edilir.
RAW görüntüler destekleniyorsa renk ataması da test edilir. Test edilen renkler siyah, beyaz, kırmızı, mavi ve yeşildir. RAW görüntüleri desteklemeyen kameralar için 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 renktedir ve görüntüde düşük farklılık vardır.
test_test_pattern
Geçerli her test desenine ilişkin kareleri yakalamak için android.sensor.testPatternMode
parametresini test eder ve karelerin düz renkler ve renk çubukları için doğru şekilde oluşturulduğunu kontrol eder. Bu test aşağıdaki adımları içerir:
- Desteklenen tüm test modelleri için görüntüleri yakalar.
- Düz renk test 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 modelleri doğru şekilde oluşturuldu.
test_test_patterns_2.jpg
test_tonemap_curve
Doğrusal ton haritasıyla test deseninin RAW'dan YUV'ye dönüştürülmesini test eder. Bu test, tonemap dönüşümü için mükemmel bir görüntü deseni oluşturmak amacıyla android.sensor.testPatternMode = 2
(COLOR_BARS) gerektirir. Doğrusal ton haritası ve ideal görüntü girişi ile boru hattının uygun renk çıktılarına sahip olmasını sağlar ( test_test_patterns
dayanır).
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
Geçiş: YUV ve RAW birbirine benzer görünüyor.
test_tonemap_curve_raw_2.jpg
test_tonemap_curve_yuv_2.jpg
test_unified_timestamp
Görüntü ve hareket sensörü olaylarının 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
Geçiş: Hareket zaman damgaları, iki görüntü zaman damgası arasındadır.
test_vibration_restriction
Cihazın 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
Başarılı: Cihaz, kamera ses kısıtlama API'si tarafından sessize alındığında titremez.
sahne 1
sahne1 gri bir grafiktir. Gri grafik, kamera görüş alanının ortadaki %30'unu kapsamalıdır. Merkez bölgede hiçbir özellik bulunmadığından gri grafiğin 3A'ya (otomatik pozlama, otomatik beyaz dengesi, otomatik odaklama) orta düzeyde meydan okuması bekleniyor. Ancak yakalama talebi, 3A'nın yakınsaması için yeterli özellikleri içeren sahnenin tamamını belirtir.
RFoV kameralar WFoV veya RFoV test cihazında test edilebilir. Bir RFoV kamera WFoV test düzeneğinde test edilirse, 3A'nın yakınsamasına yardımcı olmak amacıyla FoV'deki gri grafik için bazı sınırlar sağlamak üzere grafik ⅔ oranında ölçeklendirilir. Kamera test donanımlarının daha ayrıntılı açıklamaları için bkz . Kutuda Kamera ITS .
sahne1: Tam boyutlu grafik (solda). ⅔ ölçekli grafik (sağda).
test_3a
3A'nın orta derecede zorlu bir hedefle yakınsaması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 yakınsar ve döndürülen 3A değerleri geçerlidir.
test_ae_af
3A 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ınsar ve döndürülen 3A değerleri yasaldır.
test_ae_precapture_trigger
Ön yakalama tetikleyicisini kullanırken AE durum makinesini test eder. AE devre dışıyken beş manuel isteği yakalar. Son istekte, AE devre dışı olduğundan göz ardı edilmesi gereken bir AE ön yakalama tetikleyicisi var.
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
Geçiş: AE yakınsar.
test_auto_vs_manual
Otomatik ve manuel çekimleri yakalayan testler aynı görünüyor.
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ı: Her çekim sonucunda bildirilen manuel beyaz dengesi kazanımları ve dönüşümü, kameranın 3A algoritmasından elde edilen otomatik beyaz dengesi estimate
eşleşir.
test_auto_vs_manual_auto.jpg
test_auto_vs_manual_wb.jpg
test_auto_vs_manual_manual_wb_tm.jpg
test_black_white
Cihazın tam siyah beyaz görüntüler ürettiğini test eder. İki çekim yapar; birincisi son derece düşük kazançlı ve kısa pozlamayla siyah fotoğrafla sonuçlanır, ikincisi son derece yüksek kazançlı ve uzun pozlamayla beyaz fotoğrafla sonuçlanır.
Test edilen API'ler:
-
android.hardware.camera2.CaptureRequest#SENSOR_EXPOSURE_TIME
-
android.hardware.camera2.CaptureRequest#SENSOR_SENSITIVITY
Geçiş: Siyah beyaz görüntüler üretir. Beyaz görüntülerin doygun kanalları, %1'den daha az bir hata payı ile [255, 255, 255] RGB değerlerine sahiptir.
test_black_white_black.jpg | test_black_white_white.jpg |
test_black_white_plot_means.png
test_burst_sameness_manual
Manuel yakalama ayarıyla 50 görüntüden oluşan 5 seri çekim yapar ve hepsinin aynı olup olmadığını kontrol eder. Bu test, farklı şekilde işlenen veya yapaylıklar içeren düzensiz çerçevelerin 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ı: Görüntüler görsel olarak ve RGB değerlerinde aynıdır.
Başarısız: Her patlamanın başlangıcında RGB ortalama grafiğindeki yükselişi veya düşüşü gösterir
-
first_API_level
< 30 için tolerans %3'tür -
first_API_level
>= 30 için tolerans %2'dir
test_burst_sameness_manual_mean.jpg
test_burst_sameness_manual_plot_means.png
test_capture_result
CaptureResult
nesnelerinde geçerli verilerin geri gelip gelmediğini test eder. Otomatik, manuel ve otomatik yakalama 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 mercek gölgeleme düzeltmesini çizer.
test_capture_result_plot_lsc_auto_ch0.png
test_crop_region_raw
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 görüntüleri ortadan kırpılır, ancak RAW görüntüler için bu geçerli değildir.
test_crop_region_raw_comp_raw_crop.jpg
test_crop_region_raw_comp_raw_full.jpg
test_crop_region_raw_comp_yuv_crop.jpg
test_crop_region_raw_yuv_full.jpg
test_crop_regions
Mahsul bölgelerinin işe yaradığını gösteren testler. Tam bir görüntü çeker ve 5 farklı bölgenin (köşeler ve merkez) yamalarını oluşturur. 5 bölge için kırpma seti ile görüntüler çeker. Yama ve kırpma görüntüsü 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 görüntüsü, kırpma görüntüsüne karşılık gelen yamayla eşleşir.
test_dng_noise_model
DNG ham model parametrelerinin doğru olduğunu doğrular. Grafik, bir dizi hassasiyette çekilen ham çekimlerdeki gri kartın merkez yamasının ölçülen varyansını gösterir ve bu değerleri, kamera HAL'sindeki DNG gürültü modeli tarafından her hassasiyette beklenen varyansla karşılaştırır ( Yakalama sonucu nesnelerinde döndürülen O,S parametreleri). DNG gürültü modeli hakkında daha fazla ayrıntı için DNG Gürültü Modeli ile ilgili 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ğrudur. Beklenen RGB değerleri, ölçülen gerçek RGB değerleriyle eşleşiyor.
test_dng_noise_model_plog.png
test_ev_compensation_advanced
Pozlama değeri (EV) telafisinin uygulandığını test eder. Test, pozlamayı sekiz adımda artırır ve ölçülen parlaklık ile beklenen parlaklığı karşılaştırır. Beklenen değerler, EV telafisi uygulanmadan görüntünün görüntü parlaklığından hesaplanır ve hesaplanan değerler gerçek görüntü değeri aralığını aşarsa beklenen değer doygunluğa ulaşacaktır. Beklenen değerler ve ölçülen değerler eşleşmezse veya görüntüler beş adım içinde 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ı: Görüntüler, beş adımda aşırı pozlama olmadan artan pozlamayı gösterir.
test_ev_compensation_advanced_plot_means.png
test_ev_compensation_basic
CONTROL_AE_COMPENSATION_STEP
ile oluşturulan bir aralık kullanılarak EV telafisinin uygulandığını test eder. Her telafi 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ı: Artan EV telafisi ayarıyla parlaklıktaki artışı yakalar ve her bir EV telafisi ayarı için yakalanan sekiz karenin sabit ışık değerleri vardır.
test_ev_compensation_basic.png
test_maruziyeti
ISO ve pozlama süresi değiştikçe sabit bir pozlamanın elde edildiğini test eder. ISO ve pozlama süresinin birbirini dengeleyecek şekilde seçildiği bir dizi çekim yapar. Sonuçlar aynı parlaklığa sahip olmalıdır ancak sıra ilerledikçe görüntü daha gürültülü hale gelmelidir. Örnek piksel ortalama değerlerinin birbirine yakın olduğunu doğrular. Görüntülerin 0 veya 1'e sabitlenmemesini sağlar (bu da onların düz çizgiler gibi görünmesine neden olur). Test, yapılandırma dosyanızdaki debug
bayrağını ayarlayarak RAW görüntülerle 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ı: Görüntüler aynı parlaklığa sahiptir ancak daha yüksek ISO ile daha gürültülü hale gelir. ISO*pozlama değeri test edilen kazanç alanı boyunca sabit olduğunda RGB düzlemleri düzdür.
test_exposure_plot_means.png
test_exposure_mult=1.00.jpg | test_exposure_mult=64.00.jpg |
test_jpeg
YUV görüntülerini ve cihaz JPEG görüntülerini dönüştüren testler aynı görünüyor. Test, görüntünün ortadaki %10'luk kısmını alır ve RGB değerini hesaplar ve bunların eşleştiğini doğrular.
Test edilen API'ler:
Başarılı: Her görüntü arasındaki ortalama RGB farkı %3'ten azdır.
test_jpeg_fmt=jpg.jpg | test_jpeg=fmt=yuv.jpg |
test_latching
FULL
ve LEVEL_3
kameralar için ayarların (pozlama ve kazanç) sağ karede mandallandığını test eder. Çekimler arasında yakalama isteği parametrelerini değiştirerek arka arkaya istekleri kullanarak bir dizi çekim yapar. Görüntülerin beklenen özelliklere sahip olup olmadığını kontrol eder.
Test edilen API'ler:
Başarılı: Görüntüler [2, 3, 6, 8, 10, 12, 13] artırılmış ISO veya pozlamaya sahiptir ve test_latching_plot_means.png
dosyasında daha yüksek RGB ortalamalarıyla gösterilir.
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_latching_plot_means.png
test_linearity
Cihaz işlemenin doğrusal piksellere çevrilebileceğini test eder. Cihaz tek tip bir hedefe doğrultulduğunda bir dizi çekim yakalar.
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
Geçiş: R, G, B değerleri artan hassasiyetle birlikte doğrusal olarak artmalıdır.
test_linearity_plot_means.png
test_locked_burst
3A kilidini ve YUV patlamasını test eder (otomatik ayarı kullanarak). Bu test, MANUAL_SENSOR
veya PER_FRAME_CONTROLS
özelliği olmayan sınırlı cihazlarda bile başarılı olacak şekilde tasarlanmıştır. Test, kare hızı kontrolü CTS'deyken YUV görüntü 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_locked_burst_frame0.jpg
test_locked_burst_frame1.jpg
test_locked_burst_frame2.jpg
test_param_color_correction
android.colorCorrection.*
parametrelerinin ayarlandığında uygulandığını test eder. Farklı dönüşüm ve kazanç değerlerine sahip çekimler yapar ve bunların farklı görünüp görünmediğini test eder. Dönüşüm ve kazançlar, çıktının giderek kırmızı veya mavi olmasını sağlayacak şekilde seçilir. Doğrusal bir tonemap kullanır. Ton eşleme, daha sınırlı bir dinamik aralığa sahip bir ortamdaki yüksek dinamik aralıklı görüntülerin görünümüne yaklaşmak amacıyla bir renk kümesini diğerine eşlemek için görüntü 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
Geçiş: R ve B değerleri dönüşüme göre artar.
test_param_color_correction_plot_means.png
*X ekseni yakalama istekleridir: 0 = birlik, 1=kırmızı güçlendirme, 2= mavi güçlendirme
test_param_color_correction_req=0.jpg
test_param_color_correctness_req=1.jpg (R artırma)
test_param_color_correction_req=2.jpg (B güçlendirme)
test_param_exposure_time
android.sensor.exposureTime
parametresinin uygulandığını test eder.
Test edilen API'ler:
Geçiş: Her atış bir önceki atıştan daha parlaktır.
test_param_exposure_time_frame0.jpg
test_param_exposure_time_plot.png
test_param_flash_mode
android.flash.mode
parametresinin uygulandığını test eder. Pozlamayı manuel olarak karanlık tarafta olacak şekilde ayarlar, böylece flaşın patlayıp patlamadığı açıkça görülür ve doğrusal bir ton haritası kullanılır. Flaşın patlayıp patlamadığını doğrulamak için oluşturulan büyük bir degradenin olup olmadığını görmek için döşeme görüntüsünün merkezini kontrol eder.
Test edilen API'ler:
Geçiş: Döşeme görüntüsünün ortasında büyük bir degrade var, bu da flaşın patladığı anlamına geliyor.
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_reduction
android.noiseReduction.mode
parametresinin ayarlandığında doğru şekilde uygulandığını test eder. Fotoğraf makinesi loş ışıktayken görüntüler çeker. Yakalanan görüntünün gürültülü olmasını sağlamak için yüksek analog kazanç kullanır. NR kapalı, "hızlı" ve "yüksek kalite" olmak üzere üç görüntü çeker. Ayrıca düşük kazançlı ve NR kapalı bir görüntü yakalar ve bunun varyansını taban çizgisi olarak kullanır. SNR (Sinyal-Gürültü Oranı) ne kadar yüksek olursa görüntü kalitesi o kadar iyi olur.
Test edilen API'ler:
Başarılı: SNR, farklı gürültü azaltma modlarına göre değişir ve aşağıdaki grafikle benzer şekilde davranır.
test_param_noise_reduction_plot_SNRs.png
0: KAPALI, 1: HIZLI, 2: HQ, 3: MIN, 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_sensitivity
android.sensor.sensitivity
parametresinin uygulandığını test eder. Test, her çekimde sabit pozlamayla hassasiyeti 5 adımda artırır.
Test edilen API'ler:
Geçiş: RGB, merkezin %10'unun artan hassasiyetle daha parlak hale geldiği anlamına 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_sensitivity_plot.png
test_param_shading_mode
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
Geçiş: Gölgeleme modları değiştirilir ve mercek gölgelendirme haritaları beklendiği gibi değiştirilir.
test_param_shading_mode_ls_maps_mode_0_loop_0.png
test_param_shading_mode_ls_maps_mode_1_loop_0.png
test_param_shading_mode_ls_maps_mode_2_loop_0.png
test_param_tonemap_mode
Android.tonemap.mode parametresinin uygulandığını test eder. Her R, G, B kanalına farklı ton haritası eğrileri uygular ve çıktı görüntülerinin 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
Geçmek:
- test1: Her iki görüntünün de doğrusal bir ton haritası var, ancak n=1'in eğimi daha dik. G (yeşil) kanalı n=1 görüntüsü için daha parlaktır.
- test2: Aynı tonemap, ancak farklı uzunluk. Görseller aynı.
test_param_tonemap_mode_n=0.jpg | test_param_tonemap_mode_n=1.jpg |
test_post_raw_sensitivity_boost
RAW hassasiyet artışını kontrol eder. Farklı hassasiyete sahip bir dizi RAW ve YUV görüntüsü yakalar, RAW hassasiyet artırma kombinasyonunu gönderir ve çıkış pikseli ortalamasının 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
Geçiş: Güçlendirme arttıkça RAW görüntüler koyulaşırken YUV görüntülerin parlaklığı 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_post_raw_sensitivity_boost_raw_plot_means.png
test_post_raw_sensitivity_boost_yuv_s=0112_boost=3199.jpg
test_post_raw_sensitivity_boost_yuv_s=0448_boost=0800.jpg
test_post_raw_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_post_raw_sensitivity_boost_yuv_plot_means.png
test_raw_burst_sensitivity
Artan kazanımlarla bir dizi ham görüntü yakalar ve gürültüyü ölçer. Bir seri çekimde 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ıkça her atış bir önceki atıştan daha gürültülü olur.
Merkez istatistik ızgara hücresinin varyansını kullanır.
test_raw_burst_sensitivity_variance.png
test_raw_exposure
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'yu (kazanç) artırmak, pikselleri ışığa karşı daha duyarlı hale getirir, böylece çizim sola doğru hareket eder.
test_raw_exposure_s=55.png
(10⁰ 1 ms'dir, 10¹ 10 ms'dir, 10⁻¹ 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
test_raw_sensitivity
Artan hassasiyetle bir dizi ham görüntü yakalar ve görüntünün ortasındaki %10'luk gürültüyü (varyansı) ölçer. Her atışın bir öncekinden daha gürültülü olduğunu 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
Geçiş: Her atışta farklılık artar.
test_raw_sensitivity_variance.png
test_reprocess_noise_reduction
İsteklerin yeniden işlenmesi için android.noiseReduction.mode
uygulandığını test eder. Kamera loş ışıktayken yeniden işlenmiş görüntüleri yakalar. Yakalanan görüntünün gürültülü olmasını sağlamak için yüksek analog kazanç kullanır. NR kapalı, "hızlı" ve "yüksek kalite" için yeniden işlenmiş üç görüntü yakalar. Düşük kazançlı ve NR kapalıyken yeniden işlenmiş bir görüntü yakalar ve bunun varyansını taban çizgisi olarak kullanır.
Test edilen API'ler:
Geçiş: HIZLI >= KAPALI, HQ >= HIZLI, HQ >> KAPALI
Tipik SNR ve NR_MODE grafiği
test_tonemap_sequence
Farklı ton haritası eğrilerine sahip bir çekim dizisini test eder. Doğrusal bir ton haritasıyla 3 manuel çekim yapar. Varsayılan ton haritasıyla 3 manuel çekim yapar. Ardışık her çerçeve çifti arasındaki deltayı hesaplar.
Test edilen API'ler:
Geçiş: 3 özdeş çerçeve ve ardından 3 özdeş çerçeveden oluşan farklı bir set 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 formatların çalıştığını test eder. YUV ve JPEG'in image_processing_utils
modülü tarafından dönüştürüldüğünde aynı görünmesi için doğrusal bir ton haritasına 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
Geçiş: Tüm görüntü merkezleri, en yüksek çözünürlüklü YUV görüntüsünün %3'üne sahip RGB dönüştürülmüş görüntülerde maksimum RMS (bir sinyalin ortalama kare değeri) farkına sahiptir.
test_yuv_jpeg_all.png
test_yuv_plus_dng
Görüntü yakalama için bildirilen boyutların ve biçimlerin çalışıp çalışmadığını test eder.
Test edilen API'ler:
Başarılı: Test tamamlanır ve istenen görseller döndürülür.
test_yuv_plus_dng.jpg
test_yuv_plus_jpeg
Tek bir kareyi hem YUV hem de JPEG çıktısı olarak yakalamayı test eder. YUV ve JPEG'in image_processing_utils
modülü tarafından dönüştürüldüğünde aynı görünmesi için doğrusal bir ton haritasına 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 görüntüleri benzerdir ve %1'den az RMS (sinyalin ortalama karekök değeri) farkına sahiptir.
test_yuv_plus_jpg_jpg.jpg | test_yuv_plus_jpeg_yuv.jpg |
test_yuv_plus_raw
Destekleniyorsa hem RAW/RAW10/RAW12 hem de YUV çıkışı olarak tek bir kareyi yakalamayı testler. Doğrusal ton haritasına sahip manuel bir istek kullandığından ham ve YUV'nin aynı olması beklenir. RGB'ye dönüştürülmüş görüntülerin merkezdeki %10 RGB değerlerini karşılaştırır. android.shading.mode
dosyasını günlüğe kaydeder.
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 daha az RMS (bir sinyalin ortalama karekök değeri) farkına sahiptir.
test_yuv_plus_raw_shading=1_raw.jpg | test_yuv_plus_raw_shading=1_yuv.jpg |
sahne2_a
scene2_a'nın gri arka planı ve nötr giysisi olan üç yüzü var. Yüzler çok çeşitli cilt tonlarına sahip olacak şekilde seçilmiştir. Yüz algılamanın en iyi şekilde çalışması için grafiğin doğru yönelime sahip olması gerekir.
sahne2_a
test_auto_flash
Karanlık bir sahnede otomatik flaşın tetiklendiğini test eder. Döşeme görüntüsünün merkezinin büyük bir degradeye sahip olup olmadığını kontrol ederek otomatik flaşın patladığını doğrular. Otomatik flaşın tetiklenmesi için tabletin ve test düzeneğindeki ışıkların kapatılması gerekir. Test ile tablet kapatılır ve Arduino kontrolcüsü ile ışıklar otomatik olarak kapatılabilir. Testin doğru çalışması için sahnenin tamamen karanlık olması gerekir. Bu nedenle, arka tablet açıklığı sahne tableti tarafından tamamen kapatılmalı ve ön açıklık bir açıklıkla ve dağınık ışığın donanıma girmesini engellemek için DUT telefonuyla 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
Geçiş: Döşeme görüntüsünün merkezinde, otomatik flaşın patladığı anlamına gelen büyük bir gradyan bulunur.
test_otomatik çerçeveleme
Kamera cihazının otomatik çerçeveleme davranışını test eder. Sahnedeki yüzlerin hiçbiri görünmeyecek şekilde büyük bir yakınlaştırma gerçekleştirir, CaptureRequest
AUTOFRAMING
True
olarak ayarlayarak otomatik çerçeveleme modunu etkinleştirir ve durum yakınsadığında (yani, orijinal sahnedeki tüm yüzlerin algılanıp algılanamayacağını doğrular) CaptureResult
AUTOFRAMING_STATE
AUTOFRAMING_STATE_CONVERGED
olarak ayarlanmıştır).
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ün tümü algılanır.
test_display_p3
Testler ColorSpaceProfiles
API'yi kullanarak P3 yakalamayı JPEG formatında görüntüler. Yakalanan JPEG'in başlığında uygun bir ICC profiline sahip olduğunu ve görüntünün sRGB gamının dışında renkler içerdiğ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 profilini ve sRGB gamının dışındaki renkleri içerir.
test_efektleri
Desteklenen kamera efektleri için çerçeveyi yakalar ve bunların doğru şekilde oluşturulup oluşturulmadığını kontrol eder. Test yalnızca efektleri OFF
ve MONO
olarak kontrol eder ancak desteklenen tüm efektler için görüntüleri kaydeder.
Test edilen API'ler:
-
android.hardware.camera2.CameraCharacteristics#CONTROL_AVAILABLE_EFFECTS
-
android.hardware.camera2.CaptureRequest#CONTROL_EFFECT_MODE
Geçiş: Efektler OFF
iken sahne görüntüsünü ve efektleri MONO
olarak ayarlanmış bir monokrom görüntü yakalar.
test_fects_MONO.jpg
test_format_combos
Çıkış formatlarının farklı 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()
Geçiş: Tüm kombinasyonlar başarıyla yakalanır.
test_jpeg_quality
Kameranın JPEG sıkıştırma kalitesini test eder. JPEG niteliklerini android.jpeg.quality
aracılığıyla adım adım gerçekleştirin ve Niceleme Tablolarının doğru şekilde değişmesini sağlayın.
Test edilen API'ler:
Geçiş: Niceleme matrisi kalite artışıyla birlikte azalır. (Matris bölme faktörünü temsil eder.)
Pixel 4 arka kamera luma/chroma DQT matris ortalamaları ve JPEG kalitesi
Başarısız test örneği
Çok düşük kaliteli görüntüler için (jpeg kalitesi < 50), nicemleme matrisinde sıkıştırmada bir artış olmadığını unutmayın.
test_num_faces
Yüz algılamayı test eder.
Test edilen API'ler:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geçiş: Üç yüzü bulur.
test_num_faces_fd_mode_1.jpg
test_preview_min_frame_rate
Karanlık bir sahnede önizleme kare hızının doğru şekilde azaldığını test eder. Bu testin doğru çalışması için test düzeneğindeki ışıkların kontrolör tarafından veya test operatörü tarafından manuel olarak kapatılması gerekir.
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 minimum seviyesindedir ve kareler arasındaki fark, testte belirlenen mutlak toleranstan daha azdır.
test_reprocess_uv_swap
YUV yeniden işlemesinin U ve V düzlemlerini değiştirmediğini test eder. Bu, yeniden işlenmiş görüntü ile yeniden işlenmemiş yakalama arasındaki mutlak farkların (SAD) toplamı hesaplanarak tespit edilir. Yeniden işlenmiş yakalamanın çıkış U ve V düzlemlerinin değiştirilmesi SAD'nin artmasına neden oluyorsa çıktını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 düzlemleri değiştirilmez.
test_reprocess_uv_swap.png
sahne2_b
test_num_faces
Yüz sahnelerinde artan cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geçiş: 3 yüz bulur.
test_num_faces_fd_mode_1.jpg
test_yuv_jpeg_capture_sameness
1920x1440 çözünürlüğü aşmayan en büyük JPEG formatıyla aynı en boy oranına sahip, en büyük ortak YUV ve JPEG formatlarını kullanarak iki görüntü yakalar. jpeg.quality
100'e ayarlar ve çift yüzey isteğini yakalar. Her iki görüntüyü de RGB dizilerine dönüştürür ve iki görüntü arasındaki 3B ortalama karekök (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 görüntüleri benzerdir ve %1'den az RMS (sinyalin ortalama karekök değeri) farkına sahiptir.
sahne2_c
test_num_faces
Yüz sahnelerinde artan cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geçiş: 3 yüz bulur.
test_num_faces_fd_mode_1.jpg
test_jpeg_capture_perf_class
CDD'deki 2.2.7.2 Kamera bölümünde 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 aydınlatma koşulları (3000K) altında CTS kamera Performans Testi ile ölçülen 1080p çözünürlük için kamera2 JPEG yakalama gecikmesi < 1000 ms olmalıdır.
test_camera_launch_perf_class
CDD'deki 2.2.7.2 Kamera bölümünde 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 ITS aydınlatma koşulları (3000K) altında CTS kamera Performans Testi ile ölçülen kamera2 başlatma gecikmesi (kamerayı ilk önizleme karesine açın) < 600 ms olmalıdır.
sahne2_d
test_num_faces
Yüz sahnelerinde artan cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geçiş: 3 yüz bulur.
sahne2_e
test_continuous_picture
Yakalama isteği ilk ayarı 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
Geçiş: 3A sistemi, 50 karelik bir yakalamanın sonunda yerleşir.
test_num_faces
Yüz sahnelerinde artan cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geçiş: 3 yüz bulur.
sahne2_f
scene2_f'nin arka planı beyaz ve kıyafetleri beyaz olan üç yüzü vardır. Yüzler çok çeşitli cilt tonlarına ve arka planla yüksek kontrasta sahiptir.
sahne2_f
test_num_faces
Yüz sahnelerinde artan cilt tonu çeşitliliğiyle yüz algılamayı test eder.
Test edilen API'ler:
-
android.hardware.camera2.CaptureResult#STATISTICS_FACES
-
android.hardware.camera2.CaptureResult#STATISTICS_FACE_DETECT_MODE
Geçiş: 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 çıkarıcı yöntemi kullanır. Bu nedenle, kaydedilen görüntülerin çoğunun 1, 2 veya 4 sahneleri için görüntüler gibi sınırları yoktur, ancak sadece grafik. Grafik, grafik bulucunun en iyi şekilde çalışması için doğru yönde olmalıdır.
test_3a_consistence
3A tutarlılık testleri.
API'lar test edildi:
-
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
Geçiş: 3A, tolerans içinde üç kez maruz kalma, kazanç, AWB (otomatik beyaz denge) ve FD (odak mesafesi) için birleşir.
test_edge_enhancement
android.edge.mode
parametresinin doğru uygulandığını test eder. Her kenar modu için işsiz olmayan görüntüleri yakalar ve çıkış görüntüsünün keskinliğini ve yakalama sonuç meta verilerini döndürür. Belirli bir kenar modu, hassasiyet, pozlama süresi, odak mesafesi ve çıkış yüzeyi parametresi ile bir yakalama isteği işler.
Pass: HQ
modu (2) OFF
moddan (0) daha keskin. FAST
mod (1) OFF
moddan daha keskin. HQ
modu daha keskin veya FAST
moda eşit.
API'lar test edildi:
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 kalite mod)
test_flip_mirror
Görüntünün CDD Bölüm 7.5.2 öne bakan kamera [C-1-5] uyarınca uygun şekilde yönlendirilmiş olup olmadığını test eder.
Yansıtılmış, ters çevrilmiş veya döndürülmüş görüntüler, merkezin yakınındaki elmas özelliği ile tanımlanabilir.
Pass: Görüntü ters çevrilmez, yansıtılmaz veya döndürülmez.
test_flip_mirror_scene_patch.jpg
Test_landscape_to_portrait
Portreye portre geçersiz kılma manzarasının peyzaj odaklı sensörler için doğru işlev gördüğünü test eder.
API'lar test edildi:
-
android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES
-
android.hardware.camera2.CameraCharacteristics#SENSOR_ORIENTATION
-
android.hardware.camera2.CameraCharacteristics#getCameraCharacteristics
Pass: Test beklenen rotasyona sahip bir grafik bulabilir (portre geçersiz kılınan manzara devre dışı bırakıldığında 0 derece, etkinleştirildiğinde 90 derece).
Test_landscape_to_portrait.png
Test_lens_movement_reporting
Lens hareketi bayrağının uygun şekilde rapor edildiğini test eder. Optimum odak mesafesinde (3A tarafından bulunduğu gibi) ilk 12 kare ve minimum odak mesafesinde son 12 kare ile 24 görüntü patlaması yakalar. Çerçeve 12 çevresinde, lens hareket eder ve keskinliğin düşmesine neden olur. Lens nihai konuma geçerken netlik nihayetinde stabilize olur. Lens hareketi bayrağı, lens optimum odak mesafesinde sabit olan ilk birkaç çerçevede keskinliğin netliğin netliğine ve lensin minimum odak mesafesinde sabit olduğu son birkaç kare olduğu tüm çerçevelerde iddia edilmelidir. Lensin hareket ettiği tam çerçeve önemli değildir: kontrol edilen şey, lens hareket ederken hareket bayrağının iddia edilmesidir.
API'lar test edildi:
-
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
Geçiş: Lens hareket bayrağı, keskinlik değişikliği ile çerçevede True
.
Başarısız Mekanizmalar:
- Lens_moving:
test_log.DEBUG
lens_moving: True
(android.hardware.camera2.CaptureResult#LENS_STATE
= 1) yalnızca keskinliğin değişmediği çerçevelerde iddia edilir. -
lens_moving: False
(android.hardware.camera2.CaptureResult#LENS_STATE
= 0)test_log.DEBUG
optimum odak mesafesindeki ilk birkaç kareye veya minimum odak mesafesindeki son birkaç kareye kıyasla keskinlik farkına sahiptir.
Test_reprocess_edge_enhancement
Kenar geliştirme için desteklenen yeniden işleme yöntemleri düzgün çalışırsa testler. Belirli bir Reprocess Edge modu ile bir yakalama isteğini işler ve devre dışı bırakılan yeniden işleme kenar modları ile yakalamak için farklı modları karşılaştırır.
API'lar test edildi:
-
android.hardware.camera2.CaptureRequest#EDGE_MODE
-
android.hardware.camera2.CaptureRequest#REPROCESS_EFFECTIVE_EXPOSURE_FACTOR
Geçiş: Farklı kenar modları için keskinlik doğrudur. HQ
(Mod 2) OFF
daha keskin (mod 0) ve farklı modlar arasındaki iyileştirme benzerdir.
test_reprocess_edge_enhancement_plot.png
Sahne 4
Scene4, bir karenin içindeki beyaz bir arka plan üzerinde siyah bir daireden oluşur.
Sahne 4
test_aspect_ratio_and_crop
Görüntüler görüntü boru hattında beklenmedik bir şekilde çarpıtılmış veya kırpılmış olup olmadığını test eder. Tüm formatlarda bir dairenin fotoğraflarını çeker. Daire'nin bozulmadığını doğrular, daire görüntünün merkezinden hareket etmez ve daire farklı en boy oranları veya çözünürlüklerle boyutu yanlış değiştirmez.
API'lar test edildi:
-
android.hardware.camera2.CaptureResult#LENS_DISTORTION
-
android.hardware.camera2.CaptureResult#LENS_FOCAL_LENGTH
-
android.hardware.camera2.CaptureResult#LENS_INTRINSIC_CALIBRATION
Pass: Görüntüler gerilmez, görüntülerin merkezi%3'ten fazla değişmez ve mümkün olan maksimum FOV (görüş alanı) korunur.
Başarısız Mekanizmalar:
- Yakalanan görüntüdeki daire işleme boru hattı tarafından bozulur.
- Daha düşük çözünürlüklü görüntü, yüksek ve düşük çözünürlüklü görüntüler arasında farklı FOV oluşturan görüntü boru hattında çift kırpılmıştır.
- Yakalanan görüntüdeki daire, görüntünün yüksekliğini veya genişliğini azaltan aşırı bir en boy oranı yakalama isteği nedeniyle kırpılır.
- Yakalanan görüntüdeki dairenin merkezde bir yansıması vardır ve tam olarak doldurulmaz.
test_multi_camera_alignment
Çok kamera sistemleri için kamera konumlandırma ile ilgili kamera kalibrasyon parametrelerini test eder. Çok kameralı fiziksel alt kameraları kullanarak, fiziksel kameralardan biriyle bir resim çeker. Daire merkezini bulur. Circle Center'ı her kamera için dünya koordinatlarına yansıtıyor. Dünya koordinatlarındaki kameraların daire merkezleri arasındaki farkı karşılaştırır. Dünya koordinatını piksel koordinatlarına geri döndürür ve bir geçerlilik kontrolü olarak orijinallerle karşılaştırır. Kameraların odak uzunluklarının farklı olup olmadığını kontrol ederek daire boyutlarını karşılaştırır.
API'lar test edildi:
-
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
Geçiş: Daire merkezleri ve boyutları, öngörülen görüntülerde beklendiği gibi, kamera kalibrasyon verileri ve odak uzunlukları kullanılarak yakalanan görüntülere kıyasla.
Başarısız Mekanizmalar:
-
LENS_INTRINSIC_CALIBRATION
,LENS_POSE_TRANSLATION
veyaLENS_POSE_ROTATION
, gerçek kalibrasyon verileri değil tasarım değerleridir. - Kamera sistemi test kurulumu için uygun değildir. Örneğin, RFOV test teçhizatıyla geniş ve ultra geniş bir kamera sisteminin test edilmesi. Daha fazla bilgi için, bkz. Kameranın Box-In-Box SSS1 .
Test_preview_aspect_ratio_and_crop
Hala yakalamalar için test_aspect_ratio_and_crop testine benzer şekilde, bu test, önizleme çerçevelerinin uygunsuz bir şekilde gerilmemesini veya kırpılmamasını sağlamak için desteklenen önizleme formatlarını kontrol eder. Çemberin en boy oranının değişmediğini, kırpılmış görüntülerin daireyi çerçevenin ortasında tuttuğunu ve daire boyutunun sabit bir format veya farklı çözünürlüklerle (görünüm kontrolü) değişmediğini doğrular.
API'lar test edildi:
-
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
Pass: Görüntüler gerilmez, görüntülerin merkezi%3'ten fazla değişmez ve mümkün olan maksimum FOV (görüş alanı) korunur.
test_preview_stabilization_fov
FOV'un uygun şekilde kırpılmasını sağlamak için desteklenen önizleme boyutlarını kontrol eder. Test, biri önizleme stabilizasyonu ve diğeri önizleme stabilizasyonu ON
OFF
üzere iki video yakalar. Her videodan temsili bir çerçeve seçilir ve iki videodaki FOV değişikliklerinin spec içinde olduğundan emin olmak için analiz edilir.
API'lar test edildi:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
Pass: Daire en boy oranı sabit kalır, dairenin merkez konumu sabit kalır ve daire boyutu%20'den daha fazla değişmez.
test_video_aspect_ratio_and_crop
Bir karenin içindeki bir dairenin videolarını tüm video formatlarında alır. Anahtar çerçeveleri çıkarır ve dairenin en boy oranının değişmediğini doğrular, kırpılmış görüntüler daireyi merkezde tutar ve daire boyutu sabit bir format veya farklı çözünürlükle değişmez (görüş alanı kontrolü).
API'lar test edildi:
-
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
Geçiş: Video çerçeveleri gerilmez, çerçevelerin merkezi%3'ten fazla farklı değildir ve mümkün olan maksimum FOV (görüş alanı) korunur.
Sahne5
Scene5, tek tip aydınlatılmış gri bir sahne gerektirir. Bu, kamera merceğinin üzerine yerleştirilmiş bir difüzörle gerçekleştirilir. Aşağıdaki difüzörü öneriyoruz: 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 bir aydınlatma kaynağına yönlendirin. Sahne 5 için yakalanan görüntüler, belirgin bir özellik olmadan dağınık aydınlatma gerektirir. Aşağıda örnek bir resim:
Scene5 Yakalama
test_lens_shading_and_color_omiformity
Lens gölgeleme düzeltmesinin uygun şekilde uygulandığını ve tek renkli üniforma sahnesinin renginin eşit olarak dağıtıldığını test eder. Bu testi Auto 3A ile bir YUV çerçevesinde gerçekleştirir. Lens gölgeleme Y kanalına göre değerlendirilir. Belirtilen her numune bloğu için ortalama y değerini ölçer ve merkez y değeri ile karşılaştırılarak geçişi veya başarısızlığı belirler. Renk tekdüzeliği testi r/g ve b/g boşlukta değerlendirilir.
API'lar test edildi:
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#CONTROL_AWB_MODE
Pass: Görüntünün belirtilen yarıçapında, r/g ve b/g değerinin varyansı% 20'den az olmalıdır.
Sahne 6
Scene6, oryantasyonu belirtmek için bir köşede bir kare olan küçük dairelerin bir ızgarasıdır. Zoom fonksiyonunu geniş bir aralıkta test etmek için küçük daireler gereklidir.
Sahne 6
test_in_sensor_zoom
Kırpılmış ham görüntüler üreten kamera-sensör yakınlaştırma özelliğinin davranışını test eder.
Akış kullanım durumu CROPPED_RAW
olarak ayarlanmış olarak, test zoom aralığında iki yakalama, tam bir görüş alanı (FOV) ham görüntü ve kırpılmış bir ham görüntü alır. Test, görüntüleri RGB dizilerine dönüştürür, tam boyutlu kırpılmış ham görüntüyü SCALER_RAW_CROP_REGION
tarafından bildirilen boyuta indirir ve iki görüntü arasındaki 3D kök ortalama kare (RMS) farkını hesaplar.
API'lar test edildi:
-
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
Geçiş: Düşük ölçeklendirilmiş kırpılmış ham görüntü ile tam FOV ham görüntü arasındaki 3D kök ortalama kare (RMS) farkı%1'den azdır.
Test_zoom
Kamera zum davranışını test eder. Yakınlaştırma aralığının üzerinden çekilir ve kamera yakınlaştıkça dairelerin büyüyüp büyümediğini kontrol eder.
API'lar test edildi:
-
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
Pass: Kameranın doğru bir şekilde yakınlaştırılmasını sağlamak için yakalanan dairenin göreceli boyutu, istenen zoom oranına karşı doğrudur.
Test_zoom merkeze en yakın dairenin konturunu bulmak için.
test_low_latency_zoom
Kameranın düşük gecikme zum davranışını test eder. Yaklaşımları android.control.settingsOverride = 1 (SETTINGS_OVERRIDE_ZOOM)
ile zoom aralığında alır ve çıkış görüntülerindeki dairelerin yakalama meta verilerindeki zoom oranlarıyla eşleşip eşleşmediğini kontrol eder.
API'lar test edildi:
-
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
Geçiş: Yakalanan dairenin göreceli boyutu, Zoom Oranı Sonuç Meta verilerine karşı doğrudur.
test_preview_video_zoom_match
Kayıt ve yakınlaştırma sırasında video önizlemesi ve video çıkışı aynı çıktıyı görüntülediğini ve kaydeddiğini test eder. Farklı zoom oranlarında merkeze en yakın dairenin boyutunu hesaplar ve zoom oranı arttıkça dairenin boyutunun artıp artmadığını kontrol eder.
API'lar test edildi:
-
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
Geçiş: Yakalanan dairenin göreceli boyutu, video ve önizlemede talep edilen zoom oranına karşı doğrudur.
Vga_640x480_key_frame.png (zumdan önce)
önizleme_640x480_key_frame.png (zoom'dan önce)
Vga_640x480_key_frame.png (zumdan sonra)
önizleme_640x480_key_frame.png (zoom'dan sonra)
scene_extensions
scene_extensions
testleri kamera uzantıları içindir ve test ortamının kesin kontrolünü gerektirdikleri için kamera için bir kutu kullanmalıdır.
sahne_hdr
scene_hdr
sahnesi solda bir portre ve sağda düşük kontrastlı bir QR kodundan oluşur.
sahne_hdr
test_hdr_extension
HDR uzantısını test eder. Uzatma etkinleştirilmiş ve olmadan çekimler etkinleştirilir ve uzantının QR kodunu daha algılanabilir hale getirip getirmediğini kontrol eder.
API'lar test edildi:
-
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
-
android.hardware.camera2.CameraExtensionSession#capture
Pass: HDR uzantısı, QR kodunu tespit etmek için gereken kontrast değişikliklerinin sayısını azaltır veya QR kodu boyunca gradyanı azaltır.
scene_night
scene_night
sahnesi, içinde dört küçük daire bulunan beyaz bir daireden oluşur, hepsi siyah bir arka plana karşı. Sağ üst köşedeki daha küçük daire, oryantasyonu belirtmek için diğerlerinden daha koyudur.
scene_night
test_night_extension
Gece uzantısını test eder. Uzatma etkinleştirilmiş ve bunlar olmadan çekimler alır ve aşağıdakileri kontrol eder:
- Gece uzantısı etkinleştirilmiş yakalama daha uzun sürer.
- Gece uzantısı etkinleştirilmiş yakalama daha parlaktır veya gelişmiş bir görünüme sahip sahne eserleri vardır.
API'lar test edildi:
-
android.hardware.camera2.CameraExtensionCharacteristics#getSupportedExtensions
-
android.hardware.camera2.CameraExtensionSession#capture
Pass: Gece uzantısı etkinleştirilmeden yakalamaya kıyasla, gece uzantısı etkinleştirilmiş bir yakalama en az 0,5 saniye daha uzun sürer. Yakalama en az% 10 daha parlak olmalı veya sahnedeki gri noktalar çevredeki dairenin merkezinden 20 piksel değer daha düşük olmalıdır.
Sensor_fusion
Sensör füzyon testleri, bir dama tahtası deseninin önünde belirli telefon hareketi gerektirir. Optimum sonuçlar için, test tablosunun düz monte edildiğinden emin olun. Düz olmayan grafikler, birçok test için rotasyon hesaplamalarını etkiler. sensor_fusion
testleri sensör füzyon kutusu ile otomatikleştirilebilir.
Dama tahtasının görüntüsü
test_multi_camera_frame_sync
Mantıksal kamera tarafından yakalanan zaman damgalarını çerçeveleyen testler, zaman damgasını belirlemek için dama tahtası içindeki kareler açılarını hesaplayarak 10 ms'dir.
API'lar test edildi:
-
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ş: Her kameradaki görüntüler arasındaki açı, telefon döndürüldükçe kayda değer bir şekilde değişmez.
test_preview_stabilizasyon
Önizleme videosunu stabilize eden testler jiroskoptan daha az döner.
API'lar test edildi:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
Geçiş: Çerçeveler üzerinde maksimum açılı dönme, jiroskop rotasyonunun% 70'inden azdır.
Aşağıda stabilizasyonlu ve stabilizasyon olmayan örnek videolardır.
Stabilizasyonlu Örnek Video
Stabilizasyon olmadan örnek video
test_sensor_fusion
AR ve VR uygulamaları için kamera ve jiroskop arasındaki zaman damgası farkını test eder. Telefon, dama tahtası deseninin önünde 10 kez 10 derece döndürülür. Hareket yaklaşık 2 sn gidiş gezisidir. Hiçbir jiroskop dahil değilse veya zaman damgası kaynağı REALTIME
parametresi etkin değilse atlanır.
test_sensor_fusion
testi bir dizi parsel üretir. Hata ayıklama için en önemli iki parsel şunlardır:
test_sensor_fusion_gyro_events
: Test sırasında telefon için jiroskop olaylarını gösterir. X ve Y yönündeki hareket, telefonun montaj plakasına güvenli bir şekilde monte edilmediğini ve test geçiş olasılığını azalttığını ima eder. Arsadaki döngü sayısı, çerçeveler tasarrufu için yazma hızına bağlıdır.Test_sensor_fusion_gyro_events
test_sensor_fusion_plot_rotations
: jiroskop ve kamera olaylarının hizalanmasını gösterir. Bu grafik, kamera ve jiroskop arasındaki eşleşen hareketi +/- 1 ms ile göstermelidir.Test_sensor_fusion_plot_rotations
API'lar test edildi:
-
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
Pass: Kamera ve jiroskop zaman damgası ofseti CDD Bölüm 7.3.9 Yüksek Sadakat Sensörleri [C-2-14] uyarınca 1 ms'den azdır.
Başarısız Mekanizmalar:
- Ofset Hatası: Kamera-Gyroscope ofseti +/- 1 ms içinde doğru bir şekilde kalibre edilmez.
- Çerçeve Damlaları: Boru hattı, arka arkaya 200 kare yakalayacak kadar hızlı değildir.
- Soket Hataları:
adb
Testi yürütecek kadar uzun süre DUT'a güvenilir bir şekilde bağlanamaz. - Grafik düz monte edilmez.
test_sensor_fusion_plot_rotations
, jiroskop ve kamera rotasyonunun, kameranın grafiğin düz olmayan kısımlarından geçtikçe önemli ölçüde değiştiği çerçevelere sahiptir. - Kamera düz monte edilmez.
test_sensor_fusion_gyro_events
, X ve Y düzlemlerinde hareketi gösterir. Bu arıza, öne bakan kameralarda daha yaygındır, çünkü arka kamera genellikle telefon gövdesinin geri kalanına yükseltilmiş bir yumru vardır ve telefonun arkasını montaj plakasına monte ederken bir eğim oluşturur.
test_video_stabilizasyon
Stabilize video testler jiroskoptan daha az döner.
API'lar test edildi:
-
android.hardware.camera2.CameraCharacteristics#SCALAR_AVAILABLE_CAPABILITIES_STREAM_USE_CASES
-
android.media.MediaRecorder
-
android.media.CamcorderProfile
Geçiş: Çerçeveler üzerinde maksimum açılı dönüş jiroskop rotasyonunun% 60'ından azdır.
Aşağıda stabilizasyonlu ve stabilizasyon olmayan örnek videolardır.
Stabilizasyonlu Örnek Video
Stabilizasyon olmadan örnek video
test_led_snapshot
LED anlık görüntülerinin görüntüyü doyurmadığını veya renklendirmediğini test eder.
Bu test, ışıkları kontrol etmek için sensör füzyon kutusuna bir aydınlatma denetleyicisi ekler. Işıklar OFF
, test AUTO_FLASH
modu ON
bir yakalama alır. Bu yakalama sırasında, test START
şekilde aePrecapture
Tetikleyici ayarıyla bir önleme sırası çalıştırır ve yakalama niyetini flash ile yakalamayı Preview
ayarlar.
Yakalama flaş nedeniyle ayırt edici bir sıcak noktaya sahip olduğundan, test tüm yakalamanın flash görüntü ortalamasını hesaplar ve değerin (68, 102) aralığında olup olmadığını doğrular. Görüntünün makul olarak beyaz dengeli olup olmadığını kontrol etmek için test, r/g ve b/g oranlarını hesaplar ve oranların 0.95 ve 1.05 içinde olup olmadığını doğrular.
API'lar test edildi:
-
android.hardware.camera2.CameraCharacteristics#FLASH_INFO_AVAILABLE
-
android.hardware.camera2.CaptureRequest#CONTROL_AE_MODE
-
android.hardware.camera2.CaptureRequest#FLASH_MODE
Geçiş: R/G ve B/G oranları 0.95 ve 1.05'tir. Flash görüntü ortalaması (68, 102) aralığında.