https://github.com/zahraarshia/omrchecker
An Optical mark recognition project that uses OpenCV to automatically grade multiple-choice answer sheets.
https://github.com/zahraarshia/omrchecker
image-processing machinelearning omr opencv
Last synced: about 1 month ago
JSON representation
An Optical mark recognition project that uses OpenCV to automatically grade multiple-choice answer sheets.
- Host: GitHub
- URL: https://github.com/zahraarshia/omrchecker
- Owner: ZahraArshia
- License: gpl-3.0
- Created: 2022-12-13T18:02:52.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-19T12:57:58.000Z (over 3 years ago)
- Last Synced: 2025-02-26T09:46:13.738Z (over 1 year ago)
- Topics: image-processing, machinelearning, omr, opencv
- Language: Python
- Homepage:
- Size: 17.9 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OMR Bubble Sheet Grader
> Reading, grading and scoring cosumized students answer sheets fast and accurate based on a model published by [Udayraj123](https://github.com/Udayraj123/OMRChecker)
## Built With
- Python
- OpenCV, Numpy, pandas, deepmerge, jsonschema
## Live Demo
[Live Demo Link](https://livedemo.com) soon!
## Getting Started
To get a local copy up and running follow these simple example steps.
### Prerequisites
Operating system: Linux is recommended although Windows is also supported.
### Setup
```
cd my-folder
git clone https://github.com/ZahraArshia/OMRChecker.git
```
### Install
check if python3 and pip is already installed:
```
python3 --version
python3 -m pip --version
```
Install OpenCV:
```
python3 -m pip install --user --upgrade pip
python3 -m pip install --user opencv-python
python3 -m pip install --user opencv-contrib-python
```
### Project Dependencies
Install pip requirements:
```
python3 -m pip install --user -r requirements.txt
```
### Usage
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
```
python3 main.py
```
Alternatively you can also use `python3 main.py -i ./samples/sample1`.
## 🤝 Contributing
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](../../issues/).
## Show your support
Give a ⭐️ if you like this project!
## Acknowledgments
I would like to acknowledge [Udayraj Deshmukh](https://github.com/Udayraj123) as the author of main logic, we modfied to match our own application.
## 📝 License
This project is [MIT](./MIT.md) licensed.