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:
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)
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 figure below)
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 figure below)
Another possibility is to set the scanner brightness to low. (See the 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 figure below)
All of the LEADTOOLS .NET OCR engines support OMR. However, only the LEADTOOLS OCR Module - LEAD 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:
Set the following properties of the zone:
Repeat for every OMR on the page.
Perform OCR recognition on the page using IOcrPage.Recognize.
The following values are possible:
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.
Medical Web Viewer .NET