Dispositivos com Android 9 ou superior podem suportar câmeras monocromáticas. O Android 10 oferece suporte adicional para o formato de stream Y8, metadados estáticos de matriz de filtro de cores monocromático e infravermelho próximo (NIR) e funções DngCreator
para câmeras monocromáticas.
Com esse recurso, os fabricantes de dispositivos podem implementar um dispositivo de câmera monocromática ou NIR e reduzir o uso de memória usando o formato de fluxo Y8. Uma câmera monocromática pode servir como a câmera física subjacente de um dispositivo lógico com múltiplas câmeras para obter melhores características de ruído com pouca luz.
Implementação
Requisitos de hardware
Para implementar esse recurso, seu dispositivo deve ter um sensor de câmera monocromático e um processador de sinal de imagem (ISP) para processar a saída do sensor.
Implementando uma câmera monocromática
Para anunciar um dispositivo de câmera como câmera monocromática, o Camera HAL deve atender aos seguintes requisitos:
-
android.sensor.info.colorFilterArray
está definido comoMONO
ouNIR
. - As chaves obrigatórias
BACKWARD_COMPATIBLE
são suportadas eMANUAL_POST_PROCESSING
não é suportado. -
android.control.awbAvailableModes
contém apenasAUTO
eandroid.control.awbState
éCONVERTED
ouLOCKED
dependendo deandroid.control.awbLock
. -
android.colorCorrection.mode
,android.colorCorrection.transform
eandroid.colorCorrection.gains
não estão nas chaves de solicitação e resultado disponíveis. Como resultado, o dispositivo da câmera éLIMITED
. As seguintes chaves de metadados estáticos relacionados a cores não estão presentes:
-
android.sensor.referenceIlluminant*
-
android.sensor.calibrationTransform*
-
android.sensor.colorTransform*
-
android.sensor.forwardMatrix*
-
android.sensor.neutralColorPoint
-
android.sensor.greenSplit
-
Todos os canais de cores têm os mesmos valores para as seguintes chaves de metadados:
-
android.sensor.blackLevelPattern
-
android.sensor.dynamicBlackLevel
-
android.statistics.lensShadingMap
-
android.tonemap.curve
-
android.sensor.noiseProfile
possui apenas um canal de cores.
Para dispositivos monocromáticos que suportam formatos de fluxo Y8, o Camera HAL deve suportar a troca de formatos YUV_420_888
em combinações de fluxo obrigatórias (incluindo reprocessamento) com formatos Y8.
As seguintes APIs públicas são usadas neste recurso:
- Formato de imagem Y8
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- Capacidade de câmera MONOCROMÁTICA (introduzida no Android 9)
Para obter mais detalhes sobre o HAL da câmera, consulte docs.html . Para obter mais informações sobre APIs públicas relacionadas, consulte ImageFormat , CameraCharacteristics , CaptureRequest e CaptureResult .
Validação
Para validar sua implementação de uma câmera monocromática, execute os seguintes testes CTS e VTS.
Testes CTS
-
testMonochromeCharacteristics
-
CaptureRequestTest
-
CaptureResultTest
-
StillCaptureTest
-
DngCreatorTest
Testes VTS
-
getCameraCharacteristics
-
processMultiCaptureRequestPreview