【问题标题】:Cannot Set Gamma and Hue for UVCCamera (Android USB Camera)无法为 UVCCamera(Android USB 相机)设置 Gamma 和 Hue
【发布时间】:2018-08-03 20:20:17
【问题描述】:

我正在尝试更改连接到 Android 手机的 USB 摄像头在线预览的色调、对比度和伽玛属性。我正在使用UVCCamera 库。使用各自的方法设置提到的属性对预览没有影响。请看下面的代码:

private SeekBar.OnSeekBarChangeListener mSeekbarChangeListener = new SeekBar.OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
        Log.i(TAG, "onProgressChanged: " + progress);
        int step = 10;
        step = progress - mProgress;
        mProgress = progress;
        Log.i(TAG, "onProgressChanged: camera gamma: " + mUVCCamera.getGamma());
        mUVCCamera.setGamma(mUVCCamera.getGamma() + step);
        Log.i(TAG, "onProgressChanged: hue: " + mUVCCamera.getHue(100));
        mUVCCamera.setHue(mUVCCamera.getHue(100) + step);
    }

Logcat 显示 gamma 和 hue 值始终为 0。为什么会这样,尽管我正在设置新值?

【问题讨论】:

    标签: android usb android-camera yuv


    【解决方案1】:

    为了能够更改 UVCCamera 参数,您需要为某个参数(如饱和度)设置最小值和最大值以及默认值。在UVCCamera 类中完成如下:

    protected int mSaturationMin = 0, mSaturationMax = 100, mSaturationDef = 0;
    

    之后,您现在可以调用 API 中可用的方法来设置参数,例如 setSaturation(int),但请确保您在之后调用 updateCameraParams。这将立即应用效果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      • 2014-12-04
      相关资源
      最近更新 更多