QCameraImageProcessingControl Class | Qt Multimedia 5.9

Qt 5.9 | Qt Multimedia | C++ Classes | QCameraImageProcessingControl

Qt 5.9.4 Reference Documentation

# QCameraImageProcessingControl Class

The QCameraImageProcessingControl class provides an abstract class for controlling image processing parameters, like white balance, contrast, saturation, sharpening and denoising. More...

Header: | #include <QCameraImageProcessingControl>
qmake: | QT += multimedia
Inherits: | QMediaControl

- List of all members, including inherited members

## Public Types

enum | ProcessingParameter { WhiteBalancePreset, ColorTemperature, Contrast, Saturation, ..., ExtendedParameter }

## Public Functions

| ~QCameraImageProcessingControl()
virtual bool | isParameterSupported(ProcessingParameter parameter) const = 0
virtual bool | isParameterValueSupported(ProcessingParameter parameter, const QVariant &value) const = 0
virtual QVariant | parameter(ProcessingParameter parameter) const = 0
virtual void | setParameter(ProcessingParameter parameter, const QVariant &value) = 0

- 32 public functions inherited from QObject

## Protected Functions

| QCameraImageProcessingControl(QObject *parent = Q_NULLPTR)

- 9 protected functions inherited from QObject

## Macros

| QCameraImageProcessingControl_iid

### Additional Inherited Members

- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 2 signals inherited from QObject
- 1 public variable inherited from QObject
- 10 static public members inherited from QObject
- 2 protected variables inherited from QObject

## Detailed Description

The QCameraImageProcessingControl class provides an abstract class for controlling image processing parameters, like white balance, contrast, saturation, sharpening and denoising.

The interface name of QCameraImageProcessingControl is `org.qt-project.qt.cameraimageprocessingcontrol/5.0` as defined in QCameraImageProcessingControl_iid.

Camera service may choose the parameters of image processing pipeline depending on sensor properties camera settings and capture parameters.

This control allows to modify some parameters of image processing pipeline to achieve desired results.

Parameters with the "Adjustment" suffix, like ContrastAdjustment, SaturationAdjustment etc allows to adjust the parameter values, selected by camera engine, while parameters like Contrast and Saturation overwrites them.

For example setting the SharpeningAdjustment parameter to -0.1 slightly reduces the amount of sharpening applied, while settings the Sharpening parameter to 0 disables sharpening at all.

See also QMediaService::requestControl() and QCamera.

## Member Type Documentation

### enum QCameraImageProcessingControl::ProcessingParameter

Constant | Value | Description
--- | --- | ---
`QCameraImageProcessingControl::WhiteBalancePreset` | `0` | The white balance preset.
`QCameraImageProcessingControl::ColorTemperature` | `1` | Color temperature in K. This value is used when the manual white balance mode is selected.
`QCameraImageProcessingControl::Contrast` | `2` | Image contrast.
`QCameraImageProcessingControl::Saturation` | `3` | Image saturation.
`QCameraImageProcessingControl::Brightness` | `4` | Image brightness.
`QCameraImageProcessingControl::Sharpening` | `5` | Amount of sharpening applied.
`QCameraImageProcessingControl::Denoising` | `6` | Amount of denoising applied.
`QCameraImageProcessingControl::ContrastAdjustment` | `7` | Image contrast adjustment.
`QCameraImageProcessingControl::SaturationAdjustment` | `8` | Image saturation adjustment.
`QCameraImageProcessingControl::BrightnessAdjustment` | `9` | Image brightness adjustment.
`QCameraImageProcessingControl::SharpeningAdjustment` | `10` | Adjustment of sharpening applied.
`QCameraImageProcessingControl::DenoisingAdjustment` | `11` | Adjustment of denoising applied.
`QCameraImageProcessingControl::ColorFilter` | `12` | Image filter applied. Since 5.5
`QCameraImageProcessingControl::ExtendedParameter` | `1000` | The base value for platform specific extended parameters.

## Member Function Documentation

### `[protected]` QCameraImageProcessingControl::QCameraImageProcessingControl(QObject *parent = Q_NULLPTR)

Constructs an image processing control object with parent.

### QCameraImageProcessingControl::~QCameraImageProcessingControl()

Destruct the image processing control object.

### `[pure virtual]` bool QCameraImageProcessingControl::isParameterSupported(ProcessingParameter parameter) const

Returns true if the camera supports adjusting image processing parameter.

Usually the supported setting is static, but some parameters may not be available depending on other camera settings, like presets. In such case the currently supported parameters should be returned.

### `[pure virtual]` bool QCameraImageProcessingControl::isParameterValueSupported(ProcessingParameter parameter, const QVariant &value) const

Returns true if the camera supports setting the image processing parameter value.

It's used only for parameters with a limited set of values, like WhiteBalancePreset.

### `[pure virtual]` QVariant QCameraImageProcessingControl::parameter(ProcessingParameter parameter) const

Returns the image processing parameter value.

See also setParameter().

### `[pure virtual]` void QCameraImageProcessingControl::setParameter(ProcessingParameter parameter, const QVariant &value)

Sets the image processing parameter value. Passing the null or invalid QVariant value allows backend to choose the suitable parameter value.

The valid values range depends on the parameter type. For WhiteBalancePreset the value should be one of QCameraImageProcessing::WhiteBalanceMode values; for Contrast, Saturation, Brightness, Sharpening and Denoising the value should be in [0..1.0] range with invalid QVariant value indicating the default parameter value; for ContrastAdjustment, SaturationAdjustment, BrightnessAdjustment, SharpeningAdjustment and DenoisingAdjustment the value should be in [-1.0..1.0] range with default 0.

See also parameter().

## Macro Documentation

### QCameraImageProcessingControl_iid

`org.qt-project.qt.cameraimageprocessingcontrol/5.0`

Defines the interface name of the QCameraImageProcessingControl class.