camera2:聚焦区域和聚焦距离的问题

时间:2018-12-09 19:04:40

标签: android focus distance area android-camera2

我尝试了很多时间将焦点设置在camera2 API上,或者仅将自动对焦设置为在活动开始时初始化的特定区域。

但是它仍然不起作用...

能帮我吗? :)

这是我的配置:

        captureRequestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO);

        captureRequestBuilder.set(CaptureRequest.CONTROL_AF_TRIGGER,
                CaptureRequest.CONTROL_AF_TRIGGER_START);

        MeteringRectangle[] focusArea = new MeteringRectangle[1];
        focusArea[0] = new MeteringRectangle(new Rect(rectangle.getLeft(),rectangle.getTop(),
                rectangle.getRight(), rectangle.getBottom()), MeteringRectangle.METERING_WEIGHT_MAX);
        captureRequestBuilder.set(CaptureRequest.CONTROL_AF_REGIONS, focusArea);  
      //captureRequestBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE,10000000000.0f);

1 个答案:

答案 0 :(得分:0)

您没有在调用CameraCaptureSession.capture或setRepeatingRequest的位置包含代码。但是您不应该在重复请求中设置TRIGGER_START,因为这会重新开始关注每一帧。仅在单个capture()调用中使用它。

另外,您是说要更改CONTROL_AF_MODE,而不是CONTROL_MODE吗?后者不会影响所使用的自动对焦的类型,我假设您要对触摸对焦操作执行AF_MODE_AUTO。

如果要手动对焦,则需要将AF_MODE_OFF设置为禁用自动对焦。