What is optical mark recognition (OMR)?

Contents
[ ]

Even if you have never heard of Optical Mark Recognition (OMR) before, you have probably come across it more than once when taking exams, voting, filling out surveys, border entry forms, customs declarations, health insurance applications, and similar documents. OMR is used to process a large number of hand-filled uniform sheets in which you answer a question by drawing a random mark, hence the technology’s name, in a circle or box (generally referred as “bubble”).

Manually reading and aggregating results from hundreds and thousands of hand-filled forms is time-consuming, tedious, and error-prone process. OMR fully automates the process, allowing hundreds of sheets per minute to be recognized with near 100% accuracy. The results can be directly imported to the database or spreadsheet for further aggregation and analysis. OMR processing is sometimes accompanied by optical character recognition (OCR) to read the content of handwritten fields.

Optical mark recognition process

The recognition process can involve quite sophisticated technologies, but it usually involves checking whether the light is passing through the paper or reflecting. Filled/marked areas will reflect less light than blank paper, resulting in a less reflection. The result is then checked against a predefined pattern and digitized.

Historically, OMR involves specialized scanning devices (optical mark readers), unique transoptic paper, magnetic ink and other “hardware” solutions. Providing unsurpassed recognition speed and accuracy, this equipment is very expensive and not available in a general store. It makes these devices and consumables unsuitable for small and medium businesses, organizations, schools, occasional jobs, or irregular jobs.

This is where modern technology comes to the rescue. Advanced image analysis and machine-learning techniques have made it possible to use an ordinary pen and paper, regular office equipment or even a smartphone camera instead of specialized devices. Recognition accuracy and reliability are comparable to the industry-grade hardware solutions. This allows you to create pure software OMR solutions that compete with traditional hardware systems at a much lower cost.

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