Engauge Digitizer
2
Toggle main menu visibility
Loading...
Searching...
No Matches
Color
ColorFilter.h
Go to the documentation of this file.
1
/******************************************************************************************************
2
* (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3
* under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4
* LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5
******************************************************************************************************/
6
7
#ifndef COLOR_FILTER_H
8
#define COLOR_FILTER_H
9
10
#include "
ColorFilterEntry.h
"
11
#include "
ColorFilterMode.h
"
12
#include <QList>
13
#include <QMap>
14
#include <QRgb>
15
16
class
ColorFilterStrategyAbstractBase
;
17
class
QImage;
18
20
class
ColorFilter
21
{
22
public
:
24
ColorFilter
();
25
27
~ColorFilter
();
28
30
bool
colorCompare
(QRgb rgb1,
31
QRgb rgb2)
const
;
32
34
void
filterImage
(
const
QImage &imageOriginal,
35
QImage &imageFiltered,
36
ColorFilterMode
colorFilterMode,
37
double
low,
38
double
high,
39
QRgb rgbBackground);
40
44
QRgb
marginColor
(
const
QImage *image)
const
;
45
47
bool
pixelFilteredIsOn
(
const
QImage &image,
48
int
x,
49
int
y)
const
;
50
53
double
pixelToZeroToOneOrMinusOne
(
ColorFilterMode
colorFilterMode,
54
const
QColor &pixel,
55
QRgb rgbBackground)
const
;
56
58
bool
pixelUnfilteredIsOn
(
ColorFilterMode
colorFilterMode,
59
const
QColor &pixel,
60
QRgb rgbBackground,
61
double
low0To1,
62
double
high0To1)
const
;
63
65
int
zeroToOneToValue
(
ColorFilterMode
colorFilterMode,
66
double
s)
const
;
67
68
private
:
69
70
void
createStrategies ();
71
72
typedef
QList<ColorFilterEntry> ColorList;
73
74
void
mergePixelIntoColorCounts (QRgb pixel,
75
ColorList &colorCounts)
const
;
76
77
// Strategies for mode-specific computations
78
QMap<ColorFilterMode, ColorFilterStrategyAbstractBase*> m_strategies;
79
80
};
81
82
#endif
// COLOR_FILTER_H
ColorFilterEntry.h
ColorFilterMode.h
ColorFilterMode
ColorFilterMode
Definition
ColorFilterMode.h:12
ColorFilterStrategyAbstractBase
Base class for strategy pattern whose subclasses process the different color filter settings modes (o...
Definition
ColorFilterStrategyAbstractBase.h:20
ColorFilter::marginColor
QRgb marginColor(const QImage *image) const
Identify the margin color of the image, which is defined as the most common color in the four margins...
Definition
ColorFilter.cpp:79
ColorFilter::pixelFilteredIsOn
bool pixelFilteredIsOn(const QImage &image, int x, int y) const
Return true if specified filtered pixel is on.
Definition
ColorFilter.cpp:127
ColorFilter::filterImage
void filterImage(const QImage &imageOriginal, QImage &imageFiltered, ColorFilterMode colorFilterMode, double low, double high, QRgb rgbBackground)
Filter the original image according to the specified filtering parameters.
Definition
ColorFilter.cpp:47
ColorFilter::~ColorFilter
~ColorFilter()
Destructor deallocates memory.
Definition
ColorFilter.cpp:26
ColorFilter::zeroToOneToValue
int zeroToOneToValue(ColorFilterMode colorFilterMode, double s) const
Inverse of pixelToZeroToOneOrMinusOne.
Definition
ColorFilter.cpp:197
ColorFilter::pixelUnfilteredIsOn
bool pixelUnfilteredIsOn(ColorFilterMode colorFilterMode, const QColor &pixel, QRgb rgbBackground, double low0To1, double high0To1) const
Return true if specified unfiltered pixel is on.
Definition
ColorFilter.cpp:149
ColorFilter::pixelToZeroToOneOrMinusOne
double pixelToZeroToOneOrMinusOne(ColorFilterMode colorFilterMode, const QColor &pixel, QRgb rgbBackground) const
Return pixel converted according to the current filter parameter, normalized to zero to one.
Definition
ColorFilter.cpp:177
ColorFilter::ColorFilter
ColorFilter()
Single constructor.
Definition
ColorFilter.cpp:21
ColorFilter::colorCompare
bool colorCompare(QRgb rgb1, QRgb rgb2) const
See if the two color values are close enough to be considered to be the same.
Definition
ColorFilter.cpp:31
Generated on
for Engauge Digitizer by
1.17.0