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.
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:
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.