7#ifndef GRID_HEALER_ABSTRACT_BASE_H
8#define GRID_HEALER_ABSTRACT_BASE_H
49 void healed (QImage &image);
104 bool blackPixelRegionIsBigEnough (
const QImage &image,
109 void doHealingOnBelowAndAboveRangePair (QImage &image,
116 void doHealingOnBelowRange (QImage &image,
123 int m_maxPointSeparation;
QList< QPoint > MutualPairHalves
Save one half of a mutual pair.
const double HALFWIDTH_HORIZONTAL
const double HALFWIDTH_VERTICAL
Model for DlgSettingsGridRemoval and CmdSettingsGridRemoval.
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.
GridHealerAbstractBase(GridLog &gridLog, const DocumentModelGridRemoval &modelGridRemoval)
Single constructor.
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.
void saveGapSeparation(double gapSeparation)
Gap separation set method.
Class that does special logging for GridLog and GridRemoval classes.