Optical mark recognition (OMR) at a glance

Contents
[ ]

Even if you never heard of optical mark recognition (OMR) before, you must have come across it more than once when taking exams, voting, filling out surveys, border entry forms, customs declarations, health insurance claims and similar documents. OMR is used to process a large number of hand-filled forms where you answer a question by drawing a random mark, hence the technology name, in a circle or a square (also known as “bubble”).

Manual reading and aggregation of results from hundreds and thousands of forms is a painfully long, tedious and error-prone process. OMR fully automates the process, allowing hundreds of sheets per minute to be recognized with nearly 100% accuracy, and saves the results directly to a database for further aggregation and analysis. OMR processing is sometimes accompanied by optical character recognition (OCR) to parse the contents of handwritten fields.

Optical mark recognition process

The recognition process may be rather sophisticated, but it usually involves checking whether light is transmitted or reflected through the paper. Marked areas will reflect less light than blank paper, resulting in less contrasting reflectivity. The result is then checked against the predefined pattern and converted into a digital form.

On a large scale, OMR involves specialized scanners (optical mark readers), unique transoptic paper, magnetic ink and other “hardware” solutions. Providing unsurpassed recognition speed and reliability, these devices are very expensive and rarely needed for small and medium businesses, occasional jobs or non-routine tasks.

This is where modern technology comes to the rescue. Advanced image analysis and artificial intelligence techniques made it possible to use a regular pen and paper, common office equipment, or even a smartphone camera instead of dedicated devices, without affecting recognition accuracy and confidence in the result. It allows for building purely software OMR solutions that compete on par with traditional hardware-based systems at a much lower cost.

Aspose has made one step further by offering a universal OMR API as a .NET programming library - Aspose.OMR for .NET. With it, you can build an OMR application that ideally fits your requirements in literally less than 10 lines of code.