【问题标题】:Android Camera2 API manual exposure changeAndroid Camera2 API 手动曝光更改
【发布时间】:2015-05-26 03:38:03
【问题描述】:

根据官方 google 团队声明,CONTROL_AE_EXPOSURE_COMPENSATION 手动更改在 Android 5.1 上被破坏。我正在寻找解决方法几天,我发现的唯一一个连接到 SENSOR_INFO_SENSITIVITY_RANGE。但是,我在使用它时发现了一些困难。我的代码如下所示:

if(!modeDisabled){
                    mPreviewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_OFF);
                    modeDisabled=true;
                }
                range1 = characteristics.get(CameraCharacteristics.SENSOR_INFO_SENSITIVITY_RANGE);
                minmin = range1.getLower();
                maxmax = range1.getUpper();
                int iso = ((i * (maxmax - minmin)) / 100 + minmin);
                mPreviewRequestBuilder.set(CaptureRequest.SENSOR_SENSITIVITY, iso);


mCaptureSession.setRepeatingRequest(mPreviewRequestBuilder.build(), null, mBackgroundHandler);

当然,“i”值是从搜索栏获取的进度值,并且在 OnProgressChanged 函数中关闭了所有内容。

问题是在操作搜索栏时没有可见的变化。如果有任何帮助,我将不胜感激。

【问题讨论】:

    标签: android


    【解决方案1】:

    CONTROL_AE_EXPOSURE_COMPENSATION 通常在 Android 5.1 中没有被破坏,它仅在 Nexus 6 上被禁用(并将在未来的更新中重新启用)。

    如果您要禁用自动曝光,除了灵敏度之外,您可能还需要设置曝光时间。您最好还需要设置帧持续时间,尽管两者的默认值可能都是 1/30 秒,这是合理的。您还可以从自动曝光的最新捕获结果中复制最新值。

    也就是说,您仍然应该在这里看到某种变化。在将这个请求设置为重复请求之后,您是否有可能在其他地方覆盖您的捕获请求?您可以查看返回的捕获结果,以了解相机设备正在接收的灵敏度设置。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-17
    • 2015-12-27
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多