Send comments on this topic. | Back to Introduction - All Topics | Help Version 16.5.9.25
Using OMR in LEADTOOLS .NET OCR

LEADTOOLS OMR (Optical Mark Recognition) Module extends the functionality of LEADTOOLS SDKs by providing properties, methods, and events for easily incorporating fast, automated, and accurate optical mark recognition into your application. Optical Mark Recognition is used in surveys, polls, academic exams and official applications, to recognize the bubbles that the applicant fills in to indicate their selections. Supported marks include tick marks, X's, lines, checkmarks, and scribbles. Supported shapes (or frames) include boxes, circles and ellipses.

The OMR features are included as an add-on module to extend the functionality of the LEADTOOLS Document Imaging toolkit and the LEADTOOLS OCR engines by providing properties, methods, and events for easily incorporating the OMR engine into your applications.

For background and full details, see:

http://www.leadtools.com/SDK/Document/Document-Addon-OMR.htm

The printed frame should at least be 50 x 50 pixels to be recognized properly. Also the printed frame needs to be noticeable (This is easily accomplished by setting the scanner brightness.)

OMR is automated, very fast and accurate. It also have multiple options for different types of applications.

OMR options include "Frame detection options" and "Mark recognition sensitivity". For more information refer to the IOcrOmrOptions interfacce.

"Mark recognition sensitivity" specifies how sensitive OMR will be to filling marks. (Highest, High, Low and Lowest). For example: if the applicant filled the frames with a small ticks then highest mark recognition sensitivity should be set. But if the application or exam requires the applicant to fill the frame completely, then lowest mark recognition sensitivity should be set.

Also if the printed frames are empty and the applicant supposed to fill them by a simple mark, then highest mark recognition sensitivity is recommended. (See the figure below)

And if the printed frames contain letters or Numbers and the applicant supposed to fill them completely, then Lowest mark recognition sensitivity is recommended. (See the figure below)

All the LEADTOOLS .NET OCR engines support OMR. However, there is no support for auto-recognizing OMR fields currently. Instead, you should do the following:

  1. Add an OcrZone object to the page zones collection (IOcrPage.Zones). Set the following properties of the zone:
    Property
    OcrZone.BoundsThe rectangle surrounding the zone in page coordinates
    OcrZone.FillMethodSet to OcrZoneFillMethod.Omr
    OcrZone.RecognitionModuleSet to OcrZoneRecognitionModule.Omr

  2. Repeat for every OMR on the page

  3. Perform OCR recognition on the page using IOcrPage.Recognize

  4. After the recognition process is complete, you can inspect the following properties of the zones you added to get the OMR results:
    PropertyValue
    OcrZone.OmrStateOne or more OcrOmrZoneState enumeration members that indicate the after-recognition state (filled or unfilled) of the mark of this zone
    OcrZone.OmrConfidenceA number between 0 and 100 (where 100 is maximum confidence) that indicate the after-recognition confidence this IOcrEngine has in the accuracy of the OcrZone.OmrState value of the zone.

You can also use the IOcrOmrOptions interface to control how the LEADTOOLS OCR engine performs OMR recognition. With this interface, you can:

To use OMR in LEADTOOLS, you need a special key to unlock the OMR capabilities, for more information, refer to Unlocking Special LEAD Features.

For an example on using OMR in LEADTOOLS, refer to IOcrOmrOptions.

See Also