Engauge Digitizer 2
Loading...
Searching...
No Matches
FilterImage.cpp
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 "ColorFilter.h"
8#include "DocumentModelColorFilter.h"
9#include "DocumentModelGridRemoval.h"
10#include "FilterImage.h"
11#include "GridRemoval.h"
12#include "Logger.h"
13#include <QImage>
14#include <QPixmap>
15#include "Transformation.h"
16
20
21QPixmap FilterImage::filter (const QImage &imageUnfiltered,
22 const Transformation &transformation,
23 const QString &curveSelected,
24 const DocumentModelColorFilter &modelColorFilter,
25 const DocumentModelGridRemoval &modelGridRemoval) const
26{
27 // Filtered image
29 QImage imageFiltered (imageUnfiltered.width (),
30 imageUnfiltered.height (),
31 QImage::Format_RGB32);
32 QRgb rgbBackground = filter.marginColor (&imageUnfiltered);
33 filter.filterImage (imageUnfiltered,
34 imageFiltered,
35 modelColorFilter.colorFilterMode(curveSelected),
36 modelColorFilter.low(curveSelected),
37 modelColorFilter.high(curveSelected),
38 rgbBackground);
39
40 GridRemoval gridRemoval;
41 QPixmap pixmapFiltered = gridRemoval.remove (transformation,
42 modelGridRemoval,
43 imageFiltered);
44
45 return pixmapFiltered;
46}
47
48
Class for filtering image to remove unimportant information.
Definition ColorFilter.h:19
Model for DlgSettingsColorFilter and CmdSettingsColorFilter.
double high(const QString &curveName) const
High value of foreground, hue, intensity, saturation or value according to current filter mode.
double low(const QString &curveName) const
Low value of foreground, hue, intensity, saturation or value according to current filter mode normali...
ColorFilterMode colorFilterMode(const QString &curveName) const
Get method for filter mode.
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
QPixmap filter(const QImage &imageUnfiltered, const Transformation &transformation, const QString &curveSelected, const DocumentModelColorFilter &modelColorFilter, const DocumentModelGridRemoval &modelGridRemoval) const
Filter original unfiltered image into filtered pixmap.
FilterImage()
Single constructor.
Strategy class for grid removal.
Definition GridRemoval.h:20
QPixmap remove(const Transformation &transformation, const DocumentModelGridRemoval &modelGridRemoval, const QImage &imageBefore)
Process QImage into QPixmap, removing the grid lines.
Affine transformation between screen and graph coordinates, based on digitized axis points.