我正在尝试使用来自https://github.com/saki4510t/UVCCamera的UVCCamera构建应用程序以从USB相机捕获图片 但是,我不知道,如何在此库中实现图像调整设置(如调整亮度,对比度,白平衡)。 我尝试使用搜索栏来调整亮度设置,这是我的代码:
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)
{
}
};
并且,如果我尝试更改搜索条的值,则值已更改,但它不会更改亮度级别。 任何人都可以解释一下,如何更改此库中的图像调整或者让我更正我的代码? 任何答案都是我的答案
关心,并且每个人都过得愉快:)
答案 0 :(得分: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();
}