Engauge Digitizer 2
Loading...
Searching...
No Matches
ColorFilterStrategyForeground.cpp
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#include "ColorConstants.h"
9#include <QColor>
10#include <qmath.h>
11
15
19
21 QRgb rgbBackground) const
22{
23 double distance = qSqrt (pow (double (pixel.red()) - qRed (rgbBackground), 2) +
24 pow (double (pixel.green()) - qGreen (rgbBackground), 2) +
25 pow (double (pixel.blue()) - qBlue (rgbBackground), 2));
26 return distance / qSqrt (255.0 * 255.0 + 255.0 * 255.0 + 255.0 * 255.0);
27}
28
30{
31 return qFloor (FOREGROUND_MIN + s * (FOREGROUND_MAX - FOREGROUND_MIN));
32}
const int FOREGROUND_MAX
const int FOREGROUND_MIN
virtual double pixelToZeroToOne(const QColor &pixel, QRgb rgbBackground) const
Return a normalized value of 0 to 1 given input pixel.
virtual int zeroToOneToValue(double s) const
Return the low value normalized to 0 to 1.