7#ifndef GRID_HEALER_ABSTRACT_BASE_H
8#define GRID_HEALER_ABSTRACT_BASE_H
104 bool blackPixelRegionIsBigEnough (
const QImage &image,
109 void doHealingOnBelowAndAboveRangePair (
QImage &image,
116 void doHealingOnBelowRange (
QImage &image,
123 int m_maxPointSeparation;
const int INNER_RADIUS_MIN
QList< QPoint > MutualPairHalves
Save one half of a mutual pair.
const double HALFWIDTH_HORIZONTAL
const double HALFWIDTH_VERTICAL
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval. The settings are unstable until the user...
Class that 'heals' the curves after one grid line has been removed.
DocumentModelGridRemoval & modelGridRemoval()
DocumentModelGridRemoval get method.
bool pointsAreGood(const QImage &image, int x0, int y0, int x1, int y1) const
Apply blackPixelRegionIsBigEnough to regions around each of two points.
void healed(QImage &image)
Return healed image after grid removal.
virtual void applyMutualPairs(const QImage &image)=0
Apply mutual pair points after all grid removal is done.
const MutualPairHalves & mutualPairHalvesAbove() const
Mutual pair halves for below grid line.
const MutualPairHalves & mutualPairHalvesBelow() const
Mutual pair halves for above grid line.
static int pixelCountInRegionThreshold(const DocumentModelGridRemoval &modelGridRemoval)
Threshold number of pixels in a region to be considered too-small or big-enough.
GridLog & gridLog()
Logging get method.
void addMutualPair(int x0, int y0, int x1, int y1)
Add two points on either side of a gap. Later, after removal, the black points will be processed.
virtual void doHealingAcrossGaps(QImage &image)=0
Guts of the algorithm in which sequences of black pixels across the gap from each other are filled in...
double maxPointSeparation() const
Max point separation get method.
void fillTrapezoid(QImage &image, int xBL, int yBL, int xBR, int yBR, int xTR, int yTR, int xTL, int yTL)
Fill trapezoid with bottom left, bottom right, top right, and top left points.
virtual ~GridHealerAbstractBase()
void saveGapSeparation(double gapSeparation)
Gap separation set method.
Class that does special logging for GridLog and GridRemoval classes.