gpt4 book ai didi

android - 如何在 camera2 api,android 中锁定焦点?

转载 作者:可可西里 更新时间:2023-11-01 18:44:28 26 4
gpt4 key购买 nike

我正在尝试在我的自定义相机找到焦点后锁定焦点。首先将自动对焦模式设置为自动:

builder.set(CaptureRequest.CONTROL_AF_MODE,
CaptureRequest.CONTROL_AF_MODE_AUTO);

触摸预览后它会找到焦距,我必须使用以下代码锁定 AF 和 AE:

builder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE);
builder.set(CaptureRequest.CONTROL_AE_LOCK, true);

锁定 AE 在任何设备上都能正常工作。锁定自动对焦适用于 Nexus5 和 Nexus 5x。但是对于三星S5和S6,它一直在尝试搜索焦点。

锁定焦点的最佳方式是什么?

最佳答案

为了锁定 AF,您必须注意使用 capture() 而不是 repeatingRequest() 仅请求一次 AF_TRIGGER >(如果不是,它会进入 af 请求循环并始终尝试聚焦,但一些 nexus 在其 FW 中修复了此问题,因此某些设备如 Nexus 5 聚焦良好,即使它不应该聚焦)

所以,正确的顺序是:

  • CONTROL_AF_MODE 设置为 CONTROL_AF_MODE_AUTO(通过 session.setRepeatingRequest())和 AF_REGIONSAE_REGIONS 如果你想要的话

  • 等到您通过检查 CaptureCallback 中的 totalCaptureRequest 来检查 CONTROL_AF_MODE 是否已处于自动状态。

  • 在构建器中设置 AF_TRIGGER_START 以及 CONTROL_AF_MODE_AUTO 但这次不使用 session.setRepeatingRequest() 使用 session.capture().

  • 紧接着,设置 AF_TRIGGER 以设置 AF_TRIGGER_IDLE(不是取消!)再次使用 session.setRepeatingRequest() 以及 CONTROL_AF_MODE_AUTO

  • 等待它聚焦,您将收到 FOCUSED_LOCKEDNOT_FOCUSED_LOCKED

PASSIVE_FOCUSED 状态仅在 CONTROL_AF_MODE 处于连续图片而非自动时!

在执行触发之前注意真正处于自动对焦模式。

您应该始终对所有触发器使用 session.capture()(也使用 CONTROL_AE_PRECAPTURE_TRIGGER),但在此之后始终记得将触发器置于 IDLE session.repeatingRequest()

中的(不取消)

关于android - 如何在 camera2 api,android 中锁定焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42127464/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com