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 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 interface.
"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)
Some types of OMR paper are designed to be used with specific types of hardware. Usually these types contain bubbles with letters or numbers. The characters and bubbles are printed in red or light gray. See the following figure:
The purpose of these characters and bubbles are 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. This leaves 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 these types of paper.
To make bubbles and characters scanning clearer, the scanner brightness should be set 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 the auto-brightness settings when scanning hardware specific paper. This will damage the frames(bubbles) and make them vague. See the following figure:
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:
Add an OcrZone object to the page zones collection (IOcrPage.Zones). Set the following properties of the zone: PropertyValueOcrZone.BoundsThe rectangle surrounding the zone in page coordinatesOcrZone.FillMethodSet to OcrZoneFillMethod.OmrOcrZone.RecognitionModuleSet to OcrZoneRecognitionModule.Omr
Repeat for every OMR on the page
Perform OCR recognition on the page using IOcrPage.Recognize
After the recognition process is complete, you can inspect the following properties of the zones you added to get the OMR results: PropertyValueOcrZone.OmrStateOne or more OcrOmrZoneState enumeration members that indicate the after-recognition state (filled or unfilled) of the mark of this zoneOcrZone.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:
Note: Since all LEADTOOLS OCR engines are using LEADTOOLS OMR then saving OMR results to engine native formats will not work (nothing will be saved), so you can save the results to any of LEADTOOLS document writer formats instead.
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.