Using OMR in LEADTOOLS .NET OCR

The 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 applications. Optical Mark Recognition is used to recognize the bubbles that are filled in to indicate selections on surveys, polls, academic exams, and official applications. 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 the LEADTOOLS OCR engines.

For background and full details, see:

OMR Technology

LEADTOOLS OMR requires a special key to unlock OMR capabilities. For more information, refer to Unlocking Special LEAD Features.

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

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

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

"Mark recognition sensitivity" specifies how sensitive OMR will be to filling marks. (Highest, High, Low and Lowest). For example: For frames filled with small ticks, the mark recognition sensitivity should be set to the highest value. The highest value should also be set if the printed frames are empty and they should be recognized as being filled if simple marks are used. But if the application or exam requires the frames to be filled completely, the mark recognition sensitivity should be set to the lowest value.

. (See the figure below)

The lowest mark recognition sensitivity should also be used when the printed frames contain letters or numbers and the frames must be filled completely. (See the figure below)

Hardware-specific paper

Some types of OMR paper are designed to be used with specific types of hardware. Usually such paper contains bubbles with letters or numbers. The characters and bubbles are printed in red or light gray. See the following figure:

The purpose of the characters and bubbles is to allow the hardware to recognize the color of these areas. As a result, when the paper is scanned, the bubbles and characters will drop out, leaving only the filled marks visible.

Although hardware-specific paper is generally not recommended for software solutions, there are steps that, when applied, ensure the most accurate results using such types of paper.

To make bubbles and characters scanning clearer, set the scanner brightness to high. This will cause the lighter color of the bubbles and characters to drop out. See the following figure:

Another possibility is to set the scanner brightness to low. See figure below:

Note: Do NOT use auto-brightness settings when scanning hardware-specific paper, as doing so damages the frames(bubbles) and makes them faint. See the following figure:

All of the LEADTOOLS .NET OCR engines support OMR. However, only the Advantage OCR engine supports auto-detection of OMR zones during auto-zoning of the OCR page. For those engines that do not support OMR auto-detection, 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 Value
OcrZone.ZoneType Set to OcrZoneType.Omr.
OcrZone.Bounds The rectangle surrounding the zone in page coordinates.
  1. Repeat for every OMR on the page.
  2. Perform OCR recognition on the page using IOcrPage.Recognize.
Property Value
OcrCharacter.Code Will contain the current OMR character used for "filled" and "unfilled" values as set by IOcrOmrOptions.SetStateRecognitionCharacter. The following values are possible:
Value Meaning
0 Unfilled
1 Filled
OcrCharacter.Confidence A number between 0 and 100 (where 100 represents maximum confidence) that indicates the after-recognition confidence this IOcrEngine has in the accuracy of the state.
Value Meaning
0 Unfilled
1 Filled

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

Note: Since all LEADTOOLS OCR engines use LEADTOOLS OMR, saving OMR results to engine native formats will not work (nothing will be saved). Instead, save the results to any of the LEADTOOLS document writer formats.

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

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Imaging, Medical, and Document