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, Brightness, …, 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

Protected Functions

QCameraImageProcessingControl(QObject *parent = nullptr)

Macros

Detailed Description

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

ConstantValueDescription
QCameraImageProcessingControl::WhiteBalancePreset0The white balance preset.
QCameraImageProcessingControl::ColorTemperature1Color temperature in K. This value is used when the manual white balance mode is selected.
QCameraImageProcessingControl::Contrast2Image contrast.
QCameraImageProcessingControl::Saturation3Image saturation.
QCameraImageProcessingControl::Brightness4Image brightness.
QCameraImageProcessingControl::Sharpening5Amount of sharpening applied.
QCameraImageProcessingControl::Denoising6Amount of denoising applied.
QCameraImageProcessingControl::ContrastAdjustment7Image contrast adjustment.
QCameraImageProcessingControl::SaturationAdjustment8Image saturation adjustment.
QCameraImageProcessingControl::BrightnessAdjustment9Image brightness adjustment.
QCameraImageProcessingControl::SharpeningAdjustment10Adjustment of sharpening applied.
QCameraImageProcessingControl::DenoisingAdjustment11Adjustment of denoising applied.
QCameraImageProcessingControl::ColorFilter12Image filter applied. Since 5.5
QCameraImageProcessingControl::ExtendedParameter1000The 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

QCameraImageProcessingControl_iid

org.qt-project.qt.cameraimageprocessingcontrol/5.0

Defines the interface name of the QCameraImageProcessingControl class.

© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.