首页 文章

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

提问于
浏览
0

我尝试了很多时间来设置对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

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

    另外,你的意思是你改变CONTROL_AF_MODE,而不是CONTROL_MODE?后者不会影响所使用的自动对焦的类型,我假设您想要进行触摸对焦操作的AF_MODE_AUTO .

    如果要手动对焦,则需要设置AF_MODE_OFF以禁用自动对焦 .

相关问题