Пользовательский баланс белого Android camera2

Я разрабатываю приложение, которому требуется постоянный ввод неизмененных изображений, поэтому я настраиваю поверхность предварительного просмотра для постоянного захвата изображений и настраиваю ее, чтобы я мог вручную настраивать каждый элемент управления.

Однако есть только этот параметр, который ускользает от моего контроля, и это функции коррекции цвета. Я использую TEMPLATE_STILL_CAPTURE и устанавливаю элементы управления следующим образом:

    captureRequest.set(CaptureRequest.CONTROL_AF_MODE, CameraMetadata.CONTROL_AF_MODE_OFF);
    captureRequest.set(CaptureRequest.CONTROL_AF_TRIGGER, CameraMetadata.CONTROL_AF_TRIGGER_CANCEL);
    captureRequest.set(CaptureRequest.CONTROL_AWB_LOCK, true);
    captureRequest.set(CaptureRequest.CONTROL_AWB_MODE, CameraMetadata.CONTROL_AWB_MODE_OFF);
    captureRequest.set(CaptureRequest.CONTROL_AE_LOCK, true);
    captureRequest.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_OFF);
    captureRequest.set(CaptureRequest.LENS_FOCUS_DISTANCE, numFocus);
    captureRequest.set(CaptureRequest.NOISE_REDUCTION_MODE, CameraMetadata.NOISE_REDUCTION_MODE_FAST);
    captureRequest.set(CaptureRequest.SENSOR_EXPOSURE_TIME, exposure);
    captureRequest.set(CaptureRequest.SENSOR_SENSITIVITY, sensitivity);
    captureRequest.set(CaptureRequest.TONEMAP_MODE, CameraMetadata.TONEMAP_MODE_CONTRAST_CURVE);
    captureRequest.set(CaptureRequest.TONEMAP_CURVE, tcurve);
    captureRequest.set(CaptureRequest.COLOR_CORRECTION_MODE, CameraMetadata.COLOR_CORRECTION_MODE_TRANSFORM_MATRIX);
    captureRequest.set(CaptureRequest.COLOR_CORRECTION_TRANSFORM, colorTransform);
    captureRequest.set(CaptureRequest.COLOR_CORRECTION_GAINS, rggb);

Позже, в CaptureCallback, когда я сравнивал запрос и результат, я обнаружил, что в результате COLOR_CORRECTION_MODE изменилось на COLOR_CORRECTION_MODE_FAST. Что-то мне здесь не хватает?

Я использую Samsung Galaxy Tab A 2016 (SM-T580), поэтому возможно, что он его просто не поддерживает, но я бы хотел подтвердить, что я не просто делаю что-то не так.

1
0
1 522
1

Ответы 1

Если устройство не поддерживает возможность MANUAL_POST_PROCESSING, то поддержка COLOR_CORRECTION_MODE_TRANSFORM_MATRIX не требуется.

Все устройства на аппаратном уровне ПОЛНЫЙ поддерживают MANUAL_POST_PROCESSING, но устройства LIMITED не обязаны это делать, и устройства LEGACY никогда не будут его поддерживать.

Поэтому, пожалуйста, проверьте, какие возможности доступны, чтобы узнать, можете ли вы управлять преобразованием цветокоррекции на этом устройстве.

Кажется, это так. Однако, когда я запрашиваю доступные возможности, он возвращает только 2 (0: обратная совместимость и 6: серийный захват), но я вручную настраиваю элементы управления сенсором (чувствительность и экспозицию), и он работает, даже если он не указан как доступный. возможность.

dari1495 22.03.2018 09:34

Другие вопросы по теме