Camera2默认控制场景模式为CONTROL_SCENE_MODE_FACE_PRIORITY

Camera2 default control scene mode is CONTROL_SCENE_MODE_FACE_PRIORITY

在将任何参数设置为CaptureRequest.Builder之前,我检查过默认控制场景模式没有被禁用

Timber.d("captureRequestBuilder sceneMode ${get(CaptureRequest.CONTROL_SCENE_MODE)} == ${CameraMetadata.CONTROL_SCENE_MODE_DISABLED}")
Timber.d("captureRequestBuilder mode ${get(CaptureRequest.CONTROL_MODE)} == ${CameraMetadata.CONTROL_MODE_AUTO}") 

captureRequestBuilder sceneMode 1 == 0

captureRequestBuilder mode 1 == 1

CONTROL_SCENE_MODE_DISABLED = 0;

CONTROL_SCENE_MODE_FACE_PRIORITY = 1;

为什么Camera2默认控制场景模式是CONTROL_SCENE_MODE_FACE_PRIORITY

如果我将 Camera2 用于仪表盘摄像头应用程序(汽车录像机),我应该设置什么?绝对不应该是马路上的人脸识别...

我认为默认场景将被禁用,直到开发人员明确设置它...

所有可能的值(当然这些场景模式可能不是所有设备都支持):

在大多数情况下,如果 phone 将其用作默认值,则最好将其保留为 FACE_PRIORITY。

该模式允许相机测光使人脸看起来尽可能好-它不做人脸识别,只是人脸检测.所以它会找到有面孔的地方,并尝试确保这些区域光线充足且注意力集中。

但是如果你愿意,你可以通过设置 CONTROL_MODE to AUTO instead of USE_SCENE_MODE 完全关闭场景模式来关闭它。当设置为 AUTO 时,CONTROL_SCENE_MODE 的值将被忽略。