digiKam
Loading...
Searching...
No Matches
wbfilter.h
Go to the documentation of this file.
1
/* ============================================================
2
*
3
* This file is a part of digiKam project
4
* https://www.digikam.org
5
*
6
* Date : 2007-16-01
7
* Description : white balance color correction.
8
*
9
* SPDX-FileCopyrightText: 2007-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10
* SPDX-FileCopyrightText: 2008 by Guillaume Castagnino <casta at xwing dot info>
11
* SPDX-FileCopyrightText: 2010 by Martin Klapetek <martin dot klapetek at gmail dot com>
12
*
13
* SPDX-License-Identifier: GPL-2.0-or-later
14
*
15
* ============================================================ */
16
17
#pragma once
18
19
// Qt includes
20
21
#include <QColor>
22
23
// Local includes
24
25
#include "
digikam_export.h
"
26
#include "
dimgthreadedfilter.h
"
27
#include "
digikam_globals.h
"
28
#include "
wbcontainer.h
"
29
30
namespace
Digikam
31
{
32
33
class
DImg;
34
35
class
DIGIKAM_EXPORT
WBFilter
:
public
DImgThreadedFilter
36
{
37
Q_OBJECT
38
39
public
:
40
41
explicit
WBFilter
(QObject*
const
parent =
nullptr
);
42
explicit
WBFilter
(
DImg
*
const
orgImage,
43
QObject*
const
parent =
nullptr
,
44
const
WBContainer
& settings =
WBContainer
());
45
explicit
WBFilter
(
const
WBContainer
& settings,
46
DImgThreadedFilter
*
const
master,
47
const
DImg
& orgImage,
48
const
DImg
& destImage,
49
int
progressBegin = 0,
50
int
progressEnd = 100);
51
~WBFilter
()
override
;
52
53
54
static
void
autoExposureAdjustement(
const
DImg
*
const
img,
double
& black,
double
& expo);
55
static
void
autoWBAdjustementFromColor(
const
QColor& tc,
double
& temperature,
double
& green);
56
57
static
QString
FilterIdentifier
()
58
{
59
return
QLatin1String(
"digikam:WhiteBalanceFilter"
);
60
}
61
62
static
QString DisplayableName();
63
64
static
QList<int>
SupportedVersions
()
65
{
66
return
QList<int>() << 2;
67
}
68
69
static
int
CurrentVersion
()
70
{
71
return
2;
72
}
73
74
void
readParameters(
const
FilterAction
& action)
override
;
75
76
QString
filterIdentifier
()
const override
77
{
78
return
FilterIdentifier();
79
}
80
81
FilterAction
filterAction()
override
;
82
83
protected
:
84
85
void
filterImage()
override
;
86
87
protected
:
88
89
WBContainer
m_settings
;
90
91
private
:
92
93
void
setLUTv();
94
void
adjustWhiteBalance(uchar*
const
data, uint width, uint height,
bool
sixteenBit);
95
inline
unsigned
short
pixelColor(
int
colorMult,
int
index);
96
97
static
void
setRGBmult(
const
double
& temperature,
const
double
& green,
double
& mr,
double
& mg,
double
& mb);
98
99
private
:
100
101
class
Private;
102
Private*
const
d =
nullptr
;
103
};
104
105
}
// namespace Digikam
Digikam::DImgThreadedFilter
Definition
dimgthreadedfilter.h:31
Digikam::DImg
Definition
dimg.h:52
Digikam::FilterAction
Definition
filteraction.h:33
Digikam::WBContainer
Definition
wbcontainer.h:33
Digikam::WBFilter
Definition
wbfilter.h:36
Digikam::WBFilter::CurrentVersion
static int CurrentVersion()
Definition
wbfilter.h:69
Digikam::WBFilter::SupportedVersions
static QList< int > SupportedVersions()
Definition
wbfilter.h:64
Digikam::WBFilter::FilterIdentifier
static QString FilterIdentifier()
Definition
wbfilter.h:57
Digikam::WBFilter::m_settings
WBContainer m_settings
Definition
wbfilter.h:89
Digikam::WBFilter::filterIdentifier
QString filterIdentifier() const override
Definition
wbfilter.h:76
digikam_export.h
digikam_globals.h
dimgthreadedfilter.h
Digikam
Definition
datefolderview.cpp:34
wbcontainer.h
core
libs
dimg
filters
wb
wbfilter.h
Generated by
1.9.8