How to use autodetection
Autodetection should be used for a set of blocks, all of which contain text of the same type. If a separate text type must be selected for each block, you must call the RecognizeBlocks method for each block, and the RecognizerParams object must list the possible text types.If a single block contains the text of different types, recognition will be run for all of the text types, but only one result will be selected. So the entire text within the block will be recognized as if it was of the same type. That is why the recognition results for the block containing the text of several types may differ from the results for the block which contains the text of only one type. For better OCR results, draw separate blocks for each type of text.
Selecting the set of text types
The speed and accuracy of autodetection depend on the set of text types specified in the TextTypes property. Autodetection is fastest for combinations of TT_Normal, TT_Matrix, TT_Typewriter, TT_OCR_A, and TT_OCR_B types (which can be called the “fast autodetection set”). In this case, the recognizer is launched only once, autodetection is carried out during OCR, and single words rather than blocks are used to detect the text type. If only one text type has been specified, autodetection is not launched — the Engine launches the recognizer, which corresponds to the specified text type.If the TextTypes property is equal to any combination of TT_Matrix, TT_Typewriter, TT_OCR_A, and TT_OCR_B, then italic fonts and superscript/subscript will not be recognized, regardless of the values of the ProhibitItalic , ProhibitSubscript , and ProhibitSuperscript properties of the RecognizerParams object.
- Be sure to keep the number of text types in the TextTypes property to a minimum.
- If the TextTypes property is equal to any combination of TT_Handwritten and TT_Index, the TrainUserPatterns property of the RecognizerParams object cannot be set to TRUE.
