運行 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圖像格式
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO
- SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
- MONOCHROME 相機功能(在 Android 9 中引入)
有關相機 HAL 的更多詳細信息,請參閱docs.html 。有關相關公共 API 的更多信息,請參閱ImageFormat 、 CameraCharacteristics 、 CaptureRequest和CaptureResult 。
驗證
要驗證單色相機的實現,請運行以下 CTS 和 VTS 測試。
CTS 測試
testMonochromeCharacteristics-
CaptureRequestTest -
CaptureResultTest -
StillCaptureTest -
DngCreatorTest
VTS 測試
getCameraCharacteristics-
processMultiCaptureRequestPreview