相关疑难解决方法(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在视频捕捉中设置亮度/对比度

我按照指南制作了一个带有Camera2 API的视频捕捉应用,

是否有以编程方式更改视频的亮度/对比度/曝光设置的规定?我正试图拍摄一些低光视频片段,我希望增加曝光率.

这里的文档似乎只适用于静态图片.

使用Camera2 API的任何这种视频捕获方式?

video android video-capture android-camera2

10
推荐指数
1
解决办法
2136
查看次数

Camera2 API设置自定义白平衡和温度颜色

我正在尝试在相机应用中为白平衡和温度颜色设置自定义值.我正在使用camera2 API,我正在尝试不同的方法来设置此值.我从excel文件中找到了一个方法,从白平衡值到100到100.000之间获得正确的RGB温度矩阵[红色,绿色,蓝色].

我将此方法附加到Seekbar并且其工作正常,当我尝试将某些东西聚焦时,我的问题出现,然后它变成粉红色.屏幕上任何一种灯都像粉红色的火炬.

在此输入图像描述

我正在以这种方式设置值:

mPreviewRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_MODE, CaptureRequest.COLOR_CORRECTION_MODE_TRANSFORM_MATRIX);

RggbChannelVector rggb = getTemperatureVector(seekBackSelectedTemperature);

mPreviewRequestBuilder.set(CaptureRequest.COLOR_CORRECTION_GAINS, myRggbChannelVector);
Run Code Online (Sandbox Code Playgroud)

换句话说,我获取矩阵的方法是这样的:

 public static RggbChannelVector getTemperatureVector (int WhiteBalanceValue){


    float InsertTemperature = WhiteBalanceValue;
    float temperature = InsertTemperature / 100;
    float red;
    float green;
    float blue;

    //Calculate red

    if (temperature <= 66)
        red = 255;
    else {
        red = temperature - 60;
        red = (float) (329.698727446 * (Math.pow((double) red, -0.1332047592)));
        if (red < 0)
            red = 0;
        if (red > 255)
            red = 255;
    }


    //Calculate green
    if (temperature <= 66) …
Run Code Online (Sandbox Code Playgroud)

rgb camera android android-camera android-camera2

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