Skip to content

duhanguler/omr

Repository files navigation

🎯 Features

OMR checking software that can read and evaluate OMR sheets scanned at any angle and having any color. Independent for scanner or mobile camera. Just you need image!

Specs Current_Speed Min Resolution
💯 Accurate Currently nearly 100% accurate on good quality document scans; and about 95% accurate on mobile images.
💪🏿 Robust Supports low resolution with Robust feature.
Fast Current processing speed without any optimization is 220 OMRs/minute.
Customizable Easily custom OMR layouts.
📊 Visually Rich Visually rich console using.
🎈 Lightweight Very minimal and lightweight core code.
🏫 Large Scale Tested with Nokta Tek Egitim Kurumlari and Cozum Yenimahalle exams.

Contributors

You can contribute our project with TODO sections. For example To_Do

Getting started

Setup Time

Operating system: OSX or Linux is recommended although Windows is also supported.

1. Install global dependencies

opencv 4.0.0 python 3.5+

To check if python3 and pip is already installed:

python3 --version
python3 -m pip --version
Install Python3

To install python3 follow instructions here

To install pip - follow instructions here

Install OpenCV

Any installation method is fine.

Recommended:

python3 -m pip install --user --upgrade pip
python3 -m pip install --user opencv-python
python3 -m pip install --user opencv-contrib-python

More details on pip install openCV here.

Extra steps(for Linux users only)

Installing missing libraries(if any):

On a fresh computer, some of the libraries may get missing in event after a successful pip install. Install them using following commands(ref):

sudo apt-get install -y build-essential cmake unzip pkg-config
sudo apt-get install -y libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install -y libatlas-base-dev gfortran

2. Install project dependencies

Clone the repo

git clone https://github.com/duhanguler/omr
cd omr/

Install pip requirements

python3 -m pip install --user -r requirements.txt

Note: If you face a distutils error in pip, use --ignore-installed flag in above command.

3. Run the code

  1. First copy and examine the sample data to know how to structure your inputs:
    cp -r ./samples/sample1 inputs/
    # Note: you may remove previous inputs (if any) with `mv inputs/* ~/.trash`
    # Change the number N in sampleN to see more examples
  2. Run program:
    python3 main.py

Alternatively you can also use python3 main.py -i ./samples/sample1.

Each example in the samples folder demonstrates different ways in which OMR can be used.

About

Optical Mark Recognition Project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages