diff options
author | Lars Knoll <lars.knoll@qt.io> | 2021-03-10 21:10:42 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2021-03-23 13:52:51 +0000 |
commit | 7765827dc65a6b8a6fb18a1e48b888d888d3797b (patch) | |
tree | 3b94d4af400cad27bd195535822be2a5a6030c6e /examples/multimediawidgets/camera | |
parent | ad62248c6b94d7288abf210a41e504e52049ef6a (diff) |
Add V4L2 handling of image processing fields
Ported over from the camerabin code base.
Change-Id: Ib1332f91cdf2ccdba0eb8779c5769444a4ea5cc5
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'examples/multimediawidgets/camera')
-rw-r--r-- | examples/multimediawidgets/camera/camera.cpp | 18 | ||||
-rw-r--r-- | examples/multimediawidgets/camera/camera.ui | 91 |
2 files changed, 95 insertions, 14 deletions
diff --git a/examples/multimediawidgets/camera/camera.cpp b/examples/multimediawidgets/camera/camera.cpp index 4baf145b3..c77af6482 100644 --- a/examples/multimediawidgets/camera/camera.cpp +++ b/examples/multimediawidgets/camera/camera.cpp @@ -134,6 +134,24 @@ void Camera::setCamera(const QCameraInfo &cameraInfo) this, &Camera::displayCaptureError); readyForCapture(m_imageCapture->isReadyForCapture()); + QCameraImageProcessing *imageProcessing = m_camera->imageProcessing(); + if (!imageProcessing) { + ui->brightnessSlider->setEnabled(false); + ui->contrastSlider->setEnabled(false); + ui->saturationSlider->setEnabled(false); + } else { + connect(ui->brightnessSlider, &QSlider::valueChanged, [imageProcessing](int value) { + imageProcessing->setBrightness(value/100.); + }); + connect(ui->contrastSlider, &QSlider::valueChanged, [imageProcessing](int value) { + imageProcessing->setContrast(value/100.); + }); + connect(ui->saturationSlider, &QSlider::valueChanged, [imageProcessing](int value) { + imageProcessing->setSaturation(value/100.); + }); + } + + updateCaptureMode(); m_camera->start(); } diff --git a/examples/multimediawidgets/camera/camera.ui b/examples/multimediawidgets/camera/camera.ui index e00e9d843..ad14096ba 100644 --- a/examples/multimediawidgets/camera/camera.ui +++ b/examples/multimediawidgets/camera/camera.ui @@ -25,21 +25,21 @@ <string>Image</string> </attribute> <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="0"> - <widget class="QPushButton" name="takeImageButton"> - <property name="enabled"> - <bool>false</bool> - </property> + <item row="4" column="0"> + <widget class="QLabel" name="label_3"> <property name="text"> - <string>Capture Photo</string> + <string>Contrast</string> </property> - <property name="icon"> - <iconset> - <normaloff>:/images/shutter.svg</normaloff>:/images/shutter.svg</iconset> + </widget> + </item> + <item row="10" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Exposure Compensation:</string> </property> </widget> </item> - <item row="1" column="0"> + <item row="9" column="0"> <spacer name="verticalSpacer_2"> <property name="orientation"> <enum>Qt::Vertical</enum> @@ -52,14 +52,41 @@ </property> </spacer> </item> - <item row="2" column="0"> - <widget class="QLabel" name="label"> + <item row="7" column="0"> + <widget class="QLabel" name="label_2"> <property name="text"> - <string>Exposure Compensation:</string> + <string>Saturation</string> </property> </widget> </item> <item row="3" column="0"> + <widget class="QSlider" name="brightnessSlider"> + <property name="minimum"> + <number>-100</number> + </property> + <property name="maximum"> + <number>100</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QPushButton" name="takeImageButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Capture Photo</string> + </property> + <property name="icon"> + <iconset> + <normaloff>:/images/shutter.svg</normaloff>:/images/shutter.svg</iconset> + </property> + </widget> + </item> + <item row="11" column="0"> <widget class="QSlider" name="exposureCompensation"> <property name="minimum"> <number>-4</number> @@ -78,6 +105,42 @@ </property> </widget> </item> + <item row="8" column="0"> + <widget class="QSlider" name="saturationSlider"> + <property name="minimum"> + <number>-100</number> + </property> + <property name="maximum"> + <number>100</number> + </property> + <property name="value"> + <number>0</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Brightness</string> + </property> + </widget> + </item> + <item row="6" column="0"> + <widget class="QSlider" name="contrastSlider"> + <property name="minimum"> + <number>-100</number> + </property> + <property name="maximum"> + <number>100</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> </layout> </widget> <widget class="QWidget" name="tab"> @@ -130,7 +193,7 @@ </widget> </item> <item row="5" column="0"> - <widget class="QPushButton" name="metaDataButton"> + <widget class="QPushButton" name="metaDataButton"> <property name="text"> <string>Set metadata</string> </property> |