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 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:
Property | Value |
---|---|
OcrZone.ZoneType | Set to OcrZoneType.Omr. |
OcrZone.Bounds | The rectangle surrounding the zone in page coordinates. |
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:
|
||||||
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.
Getting Started (Guide to Example Programs)
Programming with LEADTOOLS .NET OCR
An Overview of OCR Recognition Modules
Creating an OCR Engine Instance
Starting and Shutting Down the OCR Engine
Multi-Threading with LEADTOOLS OCR
OCR Spell Language Dictionaries
OCR Languages and Spell Checking
OCR Tutorial - Working with Pages
OCR Tutorial - Recognizing Pages
OCR Tutorial - Adding and Painting Zones
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET