Learn what Felgo offers to help your business succeed. Start your free evaluation today! Felgo for Your Business

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

Public Types

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

Public Functions

virtual ~QCameraImageProcessingControl()
virtual bool isParameterSupported(QCameraImageProcessingControl::ProcessingParameter parameter) const = 0
virtual bool isParameterValueSupported(QCameraImageProcessingControl::ProcessingParameter parameter, const QVariant &value) const = 0
virtual QVariant parameter(QCameraImageProcessingControl::ProcessingParameter parameter) const = 0
virtual void setParameter(QCameraImageProcessingControl::ProcessingParameter parameter, const QVariant &value) = 0
  • 33 public functions inherited from QObject

Protected Functions

QCameraImageProcessingControl(QObject *parent = nullptr)
  • 9 protected functions inherited from QObject


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 = nullptr)

Constructs an image processing control object with parent.

[virtual] QCameraImageProcessingControl::~QCameraImageProcessingControl()

Destruct the image processing control object.

[pure virtual] bool QCameraImageProcessingControl::isParameterSupported(QCameraImageProcessingControl::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(QCameraImageProcessingControl::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(QCameraImageProcessingControl::ProcessingParameter parameter) const

Returns the image processing parameter value.

See also setParameter().

[pure virtual] void QCameraImageProcessingControl::setParameter(QCameraImageProcessingControl::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



Defines the interface name of the QCameraImageProcessingControl class.

Qt_Technology_Partner_RGB_475 Qt_Service_Partner_RGB_475_padded