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 |
- 31 public functions inherited from QObject
Static Public Members
const QMetaObject | staticMetaObject |
- 9 static public members inherited from QObject
Protected Functions
QCameraImageProcessingControl(QObject *parent = nullptr) |
- 9 protected functions inherited from QObject
Macros
Additional Inherited Members
- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 2 signals 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
QCameraImageProcessingControl_iid
org.qt-project.qt.cameraimageprocessingcontrol/5.0
Defines the interface name of the QCameraImageProcessingControl class.
© 2019 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.