RAKEREMOVE

typedef struct _RAKEREMOVE
{
   L_INT nMinLength;
   L_INT nMaxWidth;
   L_INT nMinWallHeight;
   L_INT nMaxWallPercent;
   L_INT nMaxSideteethLength;
   L_INT nMaxMidteethLength;
   L_INT nTeethSpacing;
   L_INT nGaps;
   L_INT nVariance;
} RAKEREMOVE, * pRAKEREMOVE;

The RAKEREMOVE structure provides rake removal information for the LBitmap::RakeRemove function.

Member

Description

nMinLength

Minimum length of a rake considered for removal. Rake less than this length are not removed.

nMaxWidth

Maximum average width of a rake that is considered for removal. Rake that are greater in average width are not removed.

nMinWallHeight

Height of a wall. Walls are slices of a rake that are too wide to be considered part of the rake. Examples of walls include characters and especially digits that a rake passes through. If the image contains rakes that pass through characters or digits , set nMinWallHeight to be equal to or a little larger than nMaxWidth.

nMaxWallPercent

The maximum number of wall slices (expressed as a percent of the total length of the rake) that are allowed. A rake consists of wall slices and non-wall slices (refer to nMinWallHeight). This field specifies that maximum number of wall slices (expressed as a percent of the total length of the rake) that are allowed. Rake that have a wall percent that is larger than nMaxWallPercent will not be removed.

nMaxSideteethLength

The max length (or height) of the side-structures that exist on both ends of the rake. Rakes that have their side teeth of larger length than the value of nMaxSideteethLength will not be removed.

nMaxMidteethLength

The max length (or height) of the mid-structure that separate the digit spaces in the rake. Rakes that have their middle separating structures (teeth) of larger length than the value of nMaxMidteethLength will not be removed.

nTeethSpacing

The average space of separation (in pixels) between Mid-teeth. Usually is best fit to be 5 pixels or more.

nGaps

Maximum length of a break or a hole in a rake. For practical uses, using smaller values yields better results.

nVariance

Amount of width change that is tolerated between adjacent line slices that construct the main horizontal line of the rake.

Comments

To fine-tune the performance of LBitmap::RakeRemove, you need varying the size of nMinWallHeight, nMaxWallPercent, nMaxSideteethLength, and nMaxMidteethLength. Finer adjustments to nGaps and nVariance will produce accurate results. Pass large value to nTeethSpacing makes the function faster.

This structure is used by the following function:

LBitmap::RakeRemove