搭载 Android 9 或更高版本的设备可以支持单色相机。Android 10 为 Y8 流格式、单色和近红外 (NIR) 色彩滤镜数组静态元数据提供了额外的支持,并为单色摄像头提供了 DngCreator
函数。
借助此功能,设备制造商可以实现单色或近红外线摄像头设备,并通过使用 Y8 流格式减少内存使用量。单色摄像头可以用作逻辑多摄像头设备的底层物理摄像头以获取更出色的低光噪音特性。
实现
硬件要求
要实现此功能,您的设备必须拥有单色摄像头传感器和图像信号处理器 (ISP) 以处理传感器输出。
实现单色相机
如需将相机设备播发为单色相机,相机 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 流格式的单色设备,相机 HAL 必须支持将强制性信息流组合中的 YUV_420_888
格式替换(包括重新处理)为 Y8 格式。
该功能中会使用以下公共 API:
- Y8 映像格式
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- 单色相机功能(在 Android 9 中引入)
如需详细了解摄像头 HAL,请参阅 docs.html。如需详细了解相关公共 API,请参阅 ImageFormat、CameraCharacteristics、CaptureRequest 和 CaptureResult。
验证
要验证单色摄像头的实现情况,请运行以下 CTS 和 VTS 测试。
CTS 测试
testMonochromeCharacteristics
CaptureRequestTest
CaptureResultTest
StillCaptureTest
DngCreatorTest
VTS 测试
getCameraCharacteristics
processMultiCaptureRequestPreview