Accusoft.SmartZoneICR5.Net - Updated
Segmentation
SmartZone ICR 5 for .Net - User Guide > Concepts > Segmentation

Segmentation is the process of taking an image and splitting it up into smaller images before attempting to recognize them as characters. Each of these smaller images is supposed to contain the pixels put there by a single character or glyph. The default segmentation settings have been optimized for recognition across a wide spectrum of image types and image qualities. Segmentation settings should be adjusted only in special cases.

Segmentation occurs early in the processing of ICR fields.

Segmentation Properties Available

Property Description
MultipleTextLines To find multiple lines in the current field. If this property is set to true, the recognition engine can automatically determine the number of text lines. However, if you know there is only a single text line, better accuracy and speed is possible by setting this property to false.
DetectSpaces This property is a boolean indicating whether or not to allow spaces. The recognition engine will automatically determine the spaces but if you know that there are no spaces or do not want any spaces in the result, set the value to false.
SplitOverlappingChars To allow automatic segmentation of overlapping blobs into multiple characters, set this property to true. The recognition engine can automatically separate the blobs into a collection of characters. If you know the blobs of characters do not overlap each other, better accuracy and speed is possible by setting this property to false.
SplitMergedChars This property specifies the mechanics and parameters for separating characters which due to poor image quality have bled into each other. If this property is set to true, it allows cutting of touching characters that the recognition engine sees as touching characters. If you know the blobs of characters do not touch each other, better accuracy and speed is achieved by setting this property to false.
MaximumBlobSize This property sets the maximum blob size in pixels to automatically classify a blob as noise. The recognition engine can automatically detect noise.
MinimumTextLineHeight This property allows you to set the minimum text line height in pixels. This value is then used by the recognition engine to prevent noise from being returned as a text line.

Segmentation affects recognition performance, since the recognition engine operates on a bitmap of what it hopes is a single character. If characters are bled together in the image, or if they overlap so that the recognition engine gets a glyph that’s really two characters (or more), then the recognition engine will not perform well.

Two types of segmentation in SmartZone ICR are provided as examples:

  1. Dealing with overlapping characters

    Segmentation (separating) of overlapping characters will resolve most of the recognition failures. In the example below, it will pull apart the ‘A’ and ‘c’.
  2. Merged characters

    Merged character segmentation should resolve the remainder of the failures, since it breaks the ‘ft’ into ‘f’ and ‘t’.

 

If you are processing a document with both overlapping (kerned) and merged character segmentation disabled, and your images have overlapping characters or merged characters, the character count will be off. For example, instead of the 8 characters we expect above, we would get back fewer characters.

See Also