运行 Android 9 或更高版本的设备可以支持单色相机。Android 10 为 Y8 流格式、单色和近红外 (NIR) 滤色器阵列静态元数据以及用于单色相机的 DngCreator
函数提供了额外的支持。
借助此功能,设备制造商可以实现单色或 NIR 相机设备,并通过使用 Y8 流格式来减少内存使用量。单色相机可以用作逻辑多摄像头设备的底层物理相机,以实现更好的弱光噪声特性。
实现
硬件要求
要实现此功能,您的设备必须具有单色相机传感器和图像信号处理器 (ISP) 以处理传感器输出。
实现单色相机
要将相机设备宣传为单色相机,Camera HAL 必须满足以下要求
android.sensor.info.colorFilterArray
设置为MONO
或NIR
。- 支持
BACKWARD_COMPATIBLE
必需的键,且不支持MANUAL_POST_PROCESSING
。 android.control.awbAvailableModes
仅包含AUTO
,并且android.control.awbState
为CONVERTED
或LOCKED
,具体取决于android.control.awbLock
。android.colorCorrection.mode
、android.colorCorrection.transform
和android.colorCorrection.gains
不在可用的请求和结果键中。因此,相机设备为LIMITED
。以下与颜色相关的静态元数据键不存在
android.sensor.referenceIlluminant*
android.sensor.calibrationTransform*
android.sensor.colorTransform*
android.sensor.forwardMatrix*
android.sensor.neutralColorPoint
android.sensor.greenSplit
对于以下元数据键,所有颜色通道都具有相同的值
android.sensor.blackLevelPattern
android.sensor.dynamicBlackLevel
android.statistics.lensShadingMap
android.tonemap.curve
android.sensor.noiseProfile
只有一个颜色通道。
对于支持 Y8 流格式的单色设备,Camera HAL 必须支持在强制性流组合(包括重新处理)中将 YUV_420_888
格式与 Y8 格式进行交换。
此功能中使用了以下公共 API
- Y8 image format
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- MONOCHROME camera capability(在 Android 9 中引入)
有关 Camera HAL 的更多详细信息,请参阅 docs.html。有关相关公共 API 的更多信息,请参阅 ImageFormat、CameraCharacteristics、CaptureRequest 和 CaptureResult。
验证
要验证单色相机的实现,请运行以下 CTS 和 VTS 测试。
CTS 测试
testMonochromeCharacteristics
CaptureRequestTest
CaptureResultTest
StillCaptureTest
DngCreatorTest
VTS 测试
getCameraCharacteristics
processMultiCaptureRequestPreview