Start » Filter Reference » Computer Vision » Optical Character Recognition » RecognizeCharacters

RecognizeCharacters


Module: OCR

Classifies input regions into characters. Based on the Multi-Layer Perceptron model.

Applications

Usually the last, yet the most important step of optical character recognition or verification.
Name Type Range Description
Input value
inCharacterRegions RegionArray Array of character regions to recognize
Input value
inOcrModel OcrModel Trained OcrMlpModel used to recognize characters
Input value
inCharacterSize Size* Size of single monospaced character if needed
Input value
inDotPrint Bool Dot-printed characters preprocessing
Input value
inCharacterSorting CharacterSortingOrder Sorting order of input characters
Input value
inMinScore Real* 0.0 - 1.0 Minimal value of accepted result. Otherwise char '*' will be placed.
Input value
inMinSpaceWidth Integer* 0 - Minimal distance between characters where space character will be inserted
Output value
outCharacters String Result of characters recognition
Output value
outScores RealArray Classification result score
Output value
outCandidates OcrCandidateArrayArray Array of a character classification results and their score
Diagnostic input
diagNormalizedCharacters ImageArray Images of normalized characters used in character recognition
Diagnostic input
diagCharactersBoxes BoxArray Bounding boxes of characters

Description

This operation performs reading a text from a set of regions. This operation requires a trained OCR classifier, which can be created using the TrainOcr_MLP or TrainOcr_SVM filter.

Filter requires regions specified in the inCharacterRegions. Each of the input region must contain single character. To get regions from an image use filter ExtractText.

The inCharacterSorting parameter defines the sorting order of the input characters provided in inCharacterRegions.

The parameter inDotPrint turns on the dedicated smoothing for characters printed using a jet printer in a dot-matrix form.

The parameter inCharacterSize defines size of monospaced (fixed-width) font. This size defines the cutting character bounding box.

Image shows extracted character cutting boxes with different cutting size.

If the parameter is set to auto character will be recognized as proportional font. For further information about font types please refer to the documentation of filters TrainOcr_SVM or TrainOcr_MLP.

Characters boxes with inCharacterSize set to Auto.

The input inMinSpaceWidth value indicates a minimal distance between characters where space character will be inserted to result string. When the value is marked as Auto no spaces will be inserted. Distance is presented in pixels.

If inMinScore is set, the characters with smaller score will be replaced with *

The output outCharacters contains recognized characters. The recognition score of each recognized character is stored in the outScores.

Examples

Description of usage of this filter can be found in examples and tutorial: Using the OCR model.

Remarks

To read more about how to use OCR technique, refer to Machine Vision Guide: Optical Character Recognition

Errors

This filter can throw an exception to report error. Read how to deal with errors in Error Handling.

List of possible exceptions:

Error type Description
DomainError Uninitialized OCR model in RecognizeCharacters. OCR model must be trained before use.

Complexity Level

This filter is available on Basic Complexity Level.

See Also

  • TrainOcr_SVM – Trains an OCR support vector machines classifier.
  • TrainOcr_MLP – Trains an OCR multilayer perceptron classifier.