相关疑难解决方法(0)

Android Camera2增加亮度

我在我的应用程序中使用android camera2拍摄连续图像,这时我使用camera2获得的图像预览亮度与原始相机相比非常暗.我看到了这个,但答案中没有类似的要求.

我试图设置camera2亮度的建议在这里:

请注意,此控件仅在android.control.aeMode!= OFF时有效.即使android.control.aeLock == true,此控件也会生效.

captureRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
            captureRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON);
            captureRequestBuilder.set(CaptureRequest.CONTROL_AE_LOCK, true);
            captureRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, 6);
Run Code Online (Sandbox Code Playgroud)

但它仍然显示预览为暗图像,如下所示.

看到这里的区别:

原装相机: 在此输入图像描述

使用Camera2: 在此输入图像描述

我需要传递的值是什么,作为第二个参数:

captureRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, 6);
Run Code Online (Sandbox Code Playgroud)

我保持6,因为正如doc的建议:

例如,如果曝光值(EV)步长为0.333,则"6"表示+2 EV的曝光补偿; -3意味着-1 EV的曝光补偿.

但亮度仍然没有影响..

android android-camera2

17
推荐指数
2
解决办法
3749
查看次数

Android Camera2 API设置了自定义亮度,对比度,伽玛

由于还没有明确的答案,并且stackoverflow还没有关于Camera 2 API Gamma的问题/答案,因此我寻求使用Android Camera 2 API修改亮度,对比度和Gamma的解决方案。
我的代码来获取范围步骤

Rational controlAECompensationStep = characteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP);
if (controlAECompensationStep != null) {
    compensationStep = controlAECompensationStep.doubleValue();
}

Range<Integer> controlAECompensationRange = characteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE);
if (controlAECompensationRange != null) {
    minCompensationRange = controlAECompensationRange.getLower();
    maxCompensationRange = controlAECompensationRange.getUpper();
}
Run Code Online (Sandbox Code Playgroud)

我的方法以百分比设置亮度

public void setBrightness(int value) {
    int brightness = (int) (minCompensationRange + (maxCompensationRange - minCompensationRange) * (value / 100f));
    previewRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, brightness);
    applySettings();
}
private void applySettings() {
    try {
        captureSession.setRepeatingRequest(previewRequestBuilder.build(), null, …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-camera2

4
推荐指数
1
解决办法
4692
查看次数

标签 统计

android ×2

android-camera2 ×2

android-camera ×1