Vertical run length smoothing algorithm.

The class implements vertical run length smoothing algorithm, which is described in: K.Y. Wong, R.G. Casey and F.M. Wahl, "Document analysis system," IBM J. Res. Devel., Vol. 26, NO. 6,111). 647-656, 1982.

Unlike the original description of this algorithm, this implementation must be applied to inverted binary images containing document, i.e. white text on black background. So this implementation fills vertical black gaps between white pixels.

This algorithm is usually used together with HorizontalRunLengthSmoothing, Intersect and then further analysis of white blobs.

The filter accepts 8 bpp grayscale images, which are supposed to be binary inverted documents.

Sample usage:

// create filter VerticalRunLengthSmoothing vrls = new VerticalRunLengthSmoothing( 32 ); // apply the filter vrls.ApplyInPlace( image );

Source image:

Result image:

Inheritance: BaseInPlacePartialFilter
Example #1
0
 private void SetFilter()
 {
     ImageType = ImageTypes.GrayscaleBT709;
     Af.VerticalRunLengthSmoothing newFilter = new Af.VerticalRunLengthSmoothing();
     newFilter.MaxGapSize = gap;
     newFilter.ProcessGapsWithImageBorders = borders;
     imageFilter = newFilter;
 }