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 的值将被忽略。
在将任何参数设置为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 的值将被忽略。