2016-12-27 578 views
1

我试图构建一个应用程序以从usb相机捕获图片,使用来自https://github.com/saki4510t/UVCCamera的UVCCamera 但是,我不知道如何实施图像调整设置(如调整亮度,对比度,白平衡)。 我试着用搜索条来调整亮度设定,这是我的代码:如何在Android Studio的UVCCamera库中使用图像调整(亮度,对比度)

final UVCCamera camera = new UVCCamera(); 

private final OnSeekBarChangeListener mSeekBarChangeListener = new OnSeekBarChangeListener() 
{ 
    @Override 
    public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 
    { 
     if (mCameraHandler.isOpened()) //When USB Camera, Connected 
     {  
      camera.setBrightness(progress); 
     } 
    } 
    @Override 
    public void onStartTrackingTouch(SeekBar seekBar) 
    { 
    } 
    @Override 
    public void onStopTrackingTouch(SeekBar seekBar) 
    { 
    } 
}; 

而且,如果我试图改变搜索条的值,该值发生了变化,但它不会改变亮度水平。 任何人都可以解释我,如何改变这个库中的图像调整或给我更正我的代码? 任何答案从我成为apreciate

的问候,并有很好的一天大家:)

回答

1

我从图书馆(libuvccamera,usbCameraCommon)的新版本,我的项目中的文件更新和修改了代码示例8.我给出了一个示例代码。这是我得到的代码的一个例子。

private SeekBar.OnSeekBarChangeListener seekBarChangeListener = 
      new SeekBar.OnSeekBarChangeListener() { 
       @Override 
       public void onProgressChanged(SeekBar seekBar, int progress, 
               boolean fromUser) { 
        // TODO Auto-generated method stub 
        br = progress; 

       } 

       @Override 
       public void onStartTrackingTouch(SeekBar seekBar) { 
        // TODO Auto-generated method stub 
       } 

       @Override 
       public void onStopTrackingTouch(SeekBar seekBar) { 
        if (isActive()) { 

           setValue(seekBar.getProgress()); 

         } 
        } 
        // TODO Auto-generated method stub 
       }; 

    private int setValue(final int value) { 
      return mCameraHandler != null ? mCameraHandler.setValue(value) : 0; 
     } 
private boolean isActive() { 
     return mCameraHandler != null && mCameraHandler.isOpened(); 
    } 

和编辑AbstractUVCCameraHandler.java

public int setValue(final int value) { 
     checkReleased(); 
     final CameraThread thread = mWeakThread.get(); 
     final UVCCamera camera = thread != null ? thread.mUVCCamera : null; 
     if (camera != null) { 

       camera.setBrightness(value); 
       return camera.getBrightness(); 
     } 
    throw new IllegalStateException(); 
} 
相关问题