【问题标题】:camera2 : Problems with focused area and focus distancecamera2:聚焦区域和焦距问题
【发布时间】:2019-05-10 18:20:12
【问题描述】:

我多次尝试在 camera2 API 上设置距离焦点,或者仅在 Activity 开始时初始化的特定区域设置自动对焦。

但是还是不行……

你能帮帮我吗? :)

这是我的配置:

        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);

【问题讨论】:

    标签: android focus distance area android-camera2


    【解决方案1】:

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

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

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

    【讨论】:

    • 我明白你的意思。我不太了解如何使用焦点,但我真的想在预览开始时将特定焦点设置为特定距离,并且不要在触摸屏后更改此焦点。
    • 如果您想要一个特定的固定焦距,这仅适用于具有良好校准的手动对焦模式的设备。 (developer.android.com/reference/android/hardware/camera2/… 已校准)。但是您可能会接近 APPROXIMATE。将 AF_MODE 设置为 OFF,然后将 LENS_FOCUS_DISTANCE 设置为您想要的,并将其设置为重复请求。
    • 这很奇怪..校准返回null并且即使我已将AF_MODE设置为关闭并设置焦距,手动对焦也不起作用。
    猜你喜欢
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    • 2020-08-24
    相关资源
    最近更新 更多