Vertical run length smoothing algorithm.

Namespace:  AForge.Imaging.Filters
Assembly:  AForge.Imaging (in AForge.Imaging.dll) Version: (


public class VerticalRunLengthSmoothing : BaseInPlacePartialFilter


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.

Note: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 Hierarchy


See Also