/OMR_for_Forms

Development of a library that makes automatic correction of templates using the optical brand recognition process and digital image processing methods, recognizing all points marked on the template, using the Python language and the Opencv library

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

OMR_Forms

As multiple-choice assessments are constantly being used to acquire assessment data on a given subject, there is a need for accessible and low-cost methods of reading these assessments for correctors. The answer sheet correction process is done manually or with the use of special optical readers for each type of form, hence, there is the need for a system that corrects this forms through the use of a library using a personal scanner. In this way, this work proposed the development of a library for the optical mark recognition (OMR) in forms by the use of digital image processing techniques. The library was developed in Python language, being multiplatform and capable of to detecting templates and alternatives in different formats of answer sheets and going thorough them, it is capable of detecting the number of pixels for each question, determining which are the marks and validating them, and detect the position of each mark. The results acquired through objects such as QR-Codes or barcodes, questions and marks are sent to a JSON file.

Installed libraries for the project

  • Opencv --version 4.1.2.30
  • pip --version 19.0.3
  • imutils --version 0.5.3
  • numpy --version 1.18.1
  • pyzbar --version 0.1.8
  • scipy --version 1.4.1

Languagem

  • Python 3.7

Windows and Linux

System modeling

image

Results

  • Correct angle

image image

  • OMR

image

  • file .json

image

  • tests unity

image