QCameraImageProcessing Class

The QCameraImageProcessing class provides an interface for image processing related camera settings. More...

Header: #include <QCameraImageProcessing>
qmake: QT += multimedia
Inherits: QObject

Public Types

enum ColorFilter { ColorFilterNone, ColorFilterGrayscale, ColorFilterNegative, ColorFilterSolarize, ColorFilterSepia, …, ColorFilterVendor }
enum WhiteBalanceMode { WhiteBalanceAuto, WhiteBalanceManual, WhiteBalanceSunlight, WhiteBalanceCloudy, WhiteBalanceShade, …, WhiteBalanceVendor }

Public Functions

qreal brightness() const
QCameraImageProcessing::ColorFilter colorFilter() const
qreal contrast() const
qreal denoisingLevel() const
bool isAvailable() const
bool isColorFilterSupported(QCameraImageProcessing::ColorFilter filter) const
bool isWhiteBalanceModeSupported(QCameraImageProcessing::WhiteBalanceMode mode) const
qreal manualWhiteBalance() const
qreal saturation() const
void setBrightness(qreal value)
void setColorFilter(QCameraImageProcessing::ColorFilter filter)
void setContrast(qreal value)
void setDenoisingLevel(qreal level)
void setManualWhiteBalance(qreal colorTemperature)
void setSaturation(qreal value)
void setSharpeningLevel(qreal level)
void setWhiteBalanceMode(QCameraImageProcessing::WhiteBalanceMode mode)
qreal sharpeningLevel() const
QCameraImageProcessing::WhiteBalanceMode whiteBalanceMode() const

Protected Functions

Detailed Description

After capturing the data for a camera frame, the camera hardware and software performs various image processing tasks to produce a final image. This includes compensating for ambient light color, reducing noise, as well as making some other adjustments to the image.

You can retrieve this class from an instance of a QCamera object.

For example, you can set the white balance (or color temperature) used for processing images:

camera = new QCamera;
QCameraImageProcessing *imageProcessing = camera->imageProcessing();

if (imageProcessing->isAvailable()) {
    imageProcessing->setWhiteBalanceMode(QCameraImageProcessing::WhiteBalanceFluorescent);
}

Or adjust the amount of denoising performed:

imageProcessing->setDenoisingLevel(-0.3); //reduce the amount of denoising applied

In some cases changing these settings may result in a longer delay before an image is ready.

For more information on image processing of camera frames, see Camera Image Processing.

See also QCameraImageProcessingControl.

Member Type Documentation

enum QCameraImageProcessing::ColorFilter

ConstantValueDescription
QCameraImageProcessing::ColorFilterNone0No filter is applied to images.
QCameraImageProcessing::ColorFilterGrayscale1A grayscale filter.
QCameraImageProcessing::ColorFilterNegative2A negative filter.
QCameraImageProcessing::ColorFilterSolarize3A solarize filter.
QCameraImageProcessing::ColorFilterSepia4A sepia filter.
QCameraImageProcessing::ColorFilterPosterize5A posterize filter.
QCameraImageProcessing::ColorFilterWhiteboard6A whiteboard filter.
QCameraImageProcessing::ColorFilterBlackboard7A blackboard filter.
QCameraImageProcessing::ColorFilterAqua8An aqua filter.
QCameraImageProcessing::ColorFilterVendor1000The base value for vendor defined filters.

This enum was introduced or modified in Qt 5.5.

enum QCameraImageProcessing::WhiteBalanceMode

ConstantValueDescription
QCameraImageProcessing::WhiteBalanceAuto0Auto white balance mode.
QCameraImageProcessing::WhiteBalanceManual1Manual white balance. In this mode the white balance should be set with setManualWhiteBalance()
QCameraImageProcessing::WhiteBalanceSunlight2Sunlight white balance mode.
QCameraImageProcessing::WhiteBalanceCloudy3Cloudy white balance mode.
QCameraImageProcessing::WhiteBalanceShade4Shade white balance mode.
QCameraImageProcessing::WhiteBalanceTungsten5Tungsten (incandescent) white balance mode.
QCameraImageProcessing::WhiteBalanceFluorescent6Fluorescent white balance mode.
QCameraImageProcessing::WhiteBalanceFlash7Flash white balance mode.
QCameraImageProcessing::WhiteBalanceSunset8Sunset white balance mode.
QCameraImageProcessing::WhiteBalanceVendor1000Base value for vendor defined white balance modes.

Member Function Documentation

[virtual protected] QCameraImageProcessing::~QCameraImageProcessing()

Destroys the camera focus object.

qreal QCameraImageProcessing::brightness() const

Returns the brightness adjustment setting.

See also setBrightness().

QCameraImageProcessing::ColorFilter QCameraImageProcessing::colorFilter() const

Returns the color filter which will be applied to image data captured by the camera.

This function was introduced in Qt 5.5.

See also setColorFilter().

qreal QCameraImageProcessing::contrast() const

Returns the contrast adjustment setting.

See also setContrast().

qreal QCameraImageProcessing::denoisingLevel() const

Returns the denoising adjustment level.

See also setDenoisingLevel().

bool QCameraImageProcessing::isAvailable() const

Returns true if image processing related settings are supported by this camera.

bool QCameraImageProcessing::isColorFilterSupported(QCameraImageProcessing::ColorFilter filter) const

Returns true if a color filter is supported.

This function was introduced in Qt 5.5.

bool QCameraImageProcessing::isWhiteBalanceModeSupported(QCameraImageProcessing::WhiteBalanceMode mode) const

Returns true if the white balance mode is supported.

qreal QCameraImageProcessing::manualWhiteBalance() const

Returns the current color temperature if the current white balance mode is WhiteBalanceManual. For other modes the return value is undefined.

See also setManualWhiteBalance().

qreal QCameraImageProcessing::saturation() const

Returns the saturation adjustment value.

See also setSaturation().

void QCameraImageProcessing::setBrightness(qreal value)

Set the brightness adjustment to value.

Valid brightness adjustment values range between -1.0 and 1.0, with a default of 0.

See also brightness().

void QCameraImageProcessing::setColorFilter(QCameraImageProcessing::ColorFilter filter)

Sets the color filter which will be applied to image data captured by the camera.

This function was introduced in Qt 5.5.

See also colorFilter().

void QCameraImageProcessing::setContrast(qreal value)

Set the contrast adjustment to value.

Valid contrast adjustment values range between -1.0 and 1.0, with a default of 0.

See also contrast().

void QCameraImageProcessing::setDenoisingLevel(qreal level)

Sets the denoising adjustment level.

Valid denoising values range between -1.0 and 1.0, with a default of 0.

If the parameter value is set to 0, the amount of denoising applied is selected by camera and depends on camera capabilities and settings. Changing value in -1.0..1.0 range adjusts the amount of denoising applied within the supported range.

See also denoisingLevel().

void QCameraImageProcessing::setManualWhiteBalance(qreal colorTemperature)

Sets manual white balance to colorTemperature. This is used when whiteBalanceMode() is set to WhiteBalanceManual. The units are Kelvin.

See also manualWhiteBalance().

void QCameraImageProcessing::setSaturation(qreal value)

Sets the saturation adjustment value to value.

Valid saturation values range between -1.0 and 1.0, with a default of 0.

See also saturation().

void QCameraImageProcessing::setSharpeningLevel(qreal level)

Sets the sharpening adjustment level.

Valid sharpening values range between -1.0 and 1.0, with a default of 0.

See also sharpeningLevel().

void QCameraImageProcessing::setWhiteBalanceMode(QCameraImageProcessing::WhiteBalanceMode mode)

Sets the white balance to mode.

See also whiteBalanceMode().

qreal QCameraImageProcessing::sharpeningLevel() const

Returns the sharpening adjustment level.

See also setSharpeningLevel().

QCameraImageProcessing::WhiteBalanceMode QCameraImageProcessing::whiteBalanceMode() const

Returns the white balance mode being used.

See also setWhiteBalanceMode().

© 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.