【问题标题】:Camera2 default control scene mode is CONTROL_SCENE_MODE_FACE_PRIORITYCamera2默认控制场景模式为CONTROL_SCENE_MODE_FACE_PRIORITY
【发布时间】:2021-04-12 09:26:39
【问题描述】:

在将任何参数设置为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 场景模式 1 == 0

captureRequestBuilder 模式 1 == 1

CONTROL_SCENE_MODE_DISABLED = 0;

CONTROL_SCENE_MODE_FACE_PRIORITY = 1;

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

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

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

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

【问题讨论】:

  • 场景模式默认为面对,因为大多数使用都与此场景有关。如果您使用 dashCam,我会禁用场景设置或使用 hdr 参数
  • @AkashPal 似乎Disabled 表示没有其他场景模式:如果相机设备不支持任何场景模式,则将其设置为 DISABLED。否则 DISABLED 将不会被列出。 developer.android.com/reference/android/hardware/camera2/…
  • 所以通常手机只支持CONTROL_SCENE_MODE_FACE_PRIORITY并且可能有CONTROL_SCENE_MODE_HDR

标签: android android-camera android-camera2


【解决方案1】:

在大多数用例中,如果手机将 FACE_PRIORITY 作为默认设置,最好将其保留为 FACE_PRIORITY。

该模式允许相机测光使人脸看起来尽可能好 - 它不进行面部识别,只是进行面部检测。因此,它会找到人脸所在的位置,并尝试确保这些区域光线充足且聚焦。

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

【讨论】:

  • 谢谢!我决定在CONTROL_SCENE_MODE_FACE_PRIORITY 设置为控制场景模式时使用AUTO 控制模式,并为CONTROL_SCENE_MODE_HDRCONTROL_SCENE_MODE_NIGHT 使用USE_SCENE_MODE 控制模式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-02
  • 1970-01-01
  • 1970-01-01
  • 2022-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多