Engauge Digitizer  2
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 
18 {
19 }
20 
21 QPixmap 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 
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.
Definition: FilterImage.cpp:21
Class for filtering image to remove unimportant information.
Definition: ColorFilter.h:20
ColorFilterMode colorFilterMode(const QString &curveName) const
Get method for filter mode.
double high(const QString &curveName) const
High value of foreground, hue, intensity, saturation or value according to current filter mode...
Affine transformation between screen and graph coordinates, based on digitized axis points...
Model for DlgSettingsColorFilter and CmdSettingsColorFilter.
QPixmap remove(const Transformation &transformation, const DocumentModelGridRemoval &modelGridRemoval, const QImage &imageBefore)
Process QImage into QPixmap, removing the grid lines.
Definition: GridRemoval.cpp:51
FilterImage()
Single constructor.
Definition: FilterImage.cpp:17
double low(const QString &curveName) const
Low value of foreground, hue, intensity, saturation or value according to current filter mode normali...
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
Strategy class for grid removal.
Definition: GridRemoval.h:19