Как использовать настройку изображения (яркость, контрастность) в библиотеке UVCCamera на Android Studio

Я пытаюсь создать приложения для захвата изображения с USB-камеры, используя UVCCamera из https://github.com/saki4510t/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) 
    {
    }
};

И, если я попытаюсь изменить значение панели поиска, значение изменилось, но уровень яркости не изменится. Может ли кто-нибудь объяснить мне, как изменить настройку изображения в этой библиотеке или исправить мой код? Любые ответы будут признательны от меня

С уважением и всем хорошего дня :)


person agentbolot93    schedule 27.12.2016    source источник


Ответы (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();
}
person iS_Tom    schedule 13.03.2017