00001
00002
00003
00004
00005
00006
00007 #include "ColorFilter.h"
00008 #include "DocumentModelColorFilter.h"
00009 #include "DocumentModelGridRemoval.h"
00010 #include "FilterImage.h"
00011 #include "GridRemoval.h"
00012 #include "Logger.h"
00013 #include <QImage>
00014 #include <QPixmap>
00015 #include "Transformation.h"
00016
00017 FilterImage::FilterImage ()
00018 {
00019 }
00020
00021 QPixmap FilterImage::filter (const QImage &imageUnfiltered,
00022 const Transformation &transformation,
00023 const QString &curveSelected,
00024 const DocumentModelColorFilter &modelColorFilter,
00025 const DocumentModelGridRemoval &modelGridRemoval) const
00026 {
00027
00028 ColorFilter filter;
00029 QImage imageFiltered (imageUnfiltered.width (),
00030 imageUnfiltered.height (),
00031 QImage::Format_RGB32);
00032 QRgb rgbBackground = filter.marginColor (&imageUnfiltered);
00033 filter.filterImage (imageUnfiltered,
00034 imageFiltered,
00035 modelColorFilter.colorFilterMode(curveSelected),
00036 modelColorFilter.low(curveSelected),
00037 modelColorFilter.high(curveSelected),
00038 rgbBackground);
00039
00040 GridRemoval gridRemoval;
00041 QPixmap pixmapFiltered = gridRemoval.remove (transformation,
00042 modelGridRemoval,
00043 imageFiltered);
00044
00045 return pixmapFiltered;
00046 }
00047
00048