Reading marked or filled answers from a checkbox for question numbers (OMR)


I want to read questions number with their answers which are marked or fully/partially filled against them on a paper

i will scan that paper and will converto to pdf, bmp or any proper format for OMR. My question is that is this possible or not in OMR. Reading Answers for each question.

Best Regards,

Asad Naeem

Hi Assad,

Thank you for considering Aspose APIs.

Yes, it is possible to perform OMR operation on the scanned images of the answer sheets. However, you first need the OMR Templates (.amr files) that corresponds to the answer sheet elements. The said templates can be created with the Template Editor shipped with Aspose.OCR for .NET API and found in the net3.5 folder of the Aspose.OCR for .NET installation directory. Detailed articles on using the Template Editor can be found here, whereas the source code snippet to perform the OMR operation is available here.

Please feel free to write back in case you need our further assistance.


Thanks for replying. I have attached some files. I want to read Roll Number part and Q/Answer part. Is it possible to read using OCR libraries?

Best Regards,
Asad Naeem

Hi Asad,

Thank you for providing the sample for our review.

You can extract the OMR data (answers to the questions 1-30) with 100% accuracy. However, the roll number isn’t specified using the optical markers and is hand written text so the accuracy rate may vary from sample to sample. We would suggest you to convert the roll number to optical markers for 100% accuracy.

If you are interested to try the Aspose.OMR features, you have to first create a OMR template by assigning elements to each question in the scanned sheet. You have to use OMR Template Editor (as discussed before) for this purpose. Once you have assigned an OMR element to each question from the scanned sheet, you can use the Aspose.OMR API or the OMR Template Editor to perform the optical marker recognition. Please note, creation of template is one time task, and same template can be used to perform OMR operation on complete batch of scanned answer sheets that corresponds to the same layout. Attached is an archive containing the sample.amr; a template I created on my end using the OMR Template Editor. I have used the Grid Element to layout the questions 1-10. You can use the same template to work further with the remaining questions. Once you are done, you may text the extraction process using the “Extract data from sheet” button available on the OMR Template Editor.

I would suggest you to follow the simple steps as follow,

  1. Run the Aspose.OMR.TemplateEditor.exe available at the following path on your machine if you have installed the API using the MSI. (C:\Program Files (x86)\Aspose\Aspose.OCR for .NET\Bin\net3.5). If you have downloaded the DLL only archive, you will find the aforesaid exe under the net3.5 folder.
  2. On Template Editors interface, the 2nd tool button from the left is for opening existing templates. Use it to load the attached sample.amr file. It will automatically load the scanned sheet associated with it. In case the image isn’t loaded, you may use the 4th tool button from the left to open the scanned image of the answer sheet.
  3. Use the Grid element (8th button the tool menu) to map OMR elements to the rest of the questions.
  4. Once all the questions are mapped, you can extract the data from the sheet using the Template Editor interface. You may also dynamically process a batch of scanned sheets against a given template using the source code referenced in my previous response.

Please feel free to write back in case you need further assistance.