OMR

This project automates the evaluation of Optical Mark Recognition (OMR) answer sheets using Python. Leveraging computer vision techniques and OCR, it reads scanned OMR forms, detects marked responses, and computes total scores. The processed results are exported in a structured CSV format.

Methodology

Image Preprocessing (OpenCV)

  • Convert scanned OMR sheets to grayscale
  • Apply thresholding, contour detection, and perspective transformation
  • Identify answer bubbles and align sheets uniformly

Answer Detection Logic

  • Locate and analyze filled bubbles via pixel intensity
  • Map detected answers against the correct answer key
  • Compute individual scores based on matching responses

OCR for Student Details (Tesseract)

  • Extract student names or roll numbers from pre-defined fields
  • Convert printed or handwritten identifiers into digital format

Result Compilation

  • Combine student identifiers with score data

  • Generate structured output in .csv format with fields like Name, Roll No., and Total Marks

    Key Features

  • Fully automated processing of scanned answer sheets

  • High-accuracy bubble detection using OpenCV

  • OCR-enabled student detail extraction with Tesseract

  • Real-time score computation

  • Exports results in clean tabular CSV format

    Outcome

  • Accuracy: High detection precision in cleanly scanned sheets

  • Efficiency: Reduces manual checking time drastically

  • Output Format: CSV file with all students’ scores and identifiers

    Roadmap

  • Add GUI for ease of use

  • Support batch uploads for mass evaluation

  • Integrate error correction for skewed or incomplete scans

  • Use deep learning models to enhance bubble recognition accuracy

You can find the complete source code and documentation for this project on GitHub: TestCheckerOMR

Share :

Related Posts

Crop Yield Predictor for Cereal Crops of Nepal

Introduction This project implements a comprehensive pipeline for predicting cereal crop yields in Nepal using machine learning techniques. The workflow begins with raw data extraction via Optical Character Recognition (OCR) and culminates in model training and performance evaluation. The pipeline is built using Python and leverages powerful tools such as Tesseract OCR, Pandas, NumPy, scikit-learn, Matplotlib, and Seaborn.

Read More

Sales Statement Creator

A web app that I made using Python and Flask that generates PDFs of sales records for businesses. It can grab client details using their VAT/PAN number from the government’s website ird.gov.np. It then generates a report that shows the total transaction that occured between the parties in a PDF file.

Read More