Я разрабатываю приложение, которому требуется постоянный ввод неизмененных изображений, поэтому я настраиваю поверхность предварительного просмотра для постоянного захвата изображений и настраиваю ее, чтобы я мог вручную настраивать каждый элемент управления.
Однако есть только этот параметр, который ускользает от моего контроля, и это функции коррекции цвета. Я использую 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), поэтому возможно, что он его просто не поддерживает, но я бы хотел подтвердить, что я не просто делаю что-то не так.
Если устройство не поддерживает возможность MANUAL_POST_PROCESSING, то поддержка COLOR_CORRECTION_MODE_TRANSFORM_MATRIX не требуется.
Все устройства на аппаратном уровне ПОЛНЫЙ поддерживают MANUAL_POST_PROCESSING, но устройства LIMITED не обязаны это делать, и устройства LEGACY никогда не будут его поддерживать.
Поэтому, пожалуйста, проверьте, какие возможности доступны, чтобы узнать, можете ли вы управлять преобразованием цветокоррекции на этом устройстве.
Кажется, это так. Однако, когда я запрашиваю доступные возможности, он возвращает только 2 (0: обратная совместимость и 6: серийный захват), но я вручную настраиваю элементы управления сенсором (чувствительность и экспозицию), и он работает, даже если он не указан как доступный. возможность.