An Optical Character Recognition (OCR) model that is used for recognizing and extracting text from images containing characters in both Cyrillic and Latin alphabets. Built as a project for NANS subject on Faculty of Technical Sciences in Novi Sad.
- Dual-script support: Recognizes both Cyrillic and Latin characters
- Designed algorithm: Row extraction algorithm
- Flexible input: Supports various image formats
- Preprocessing: Built-in image enhancement for better recognition
- Python 3.11.0 (recommended)
- Clone the repository:
git clone https://github.com/neshko31/Handwriting-OCR.git
cd Handwriting-OCR-
Install dependencies:
Mac/Linux:
python3.11 -m venv .venv source .venv/bin/activate pip install -r requirements/requirements.txtWindows:
py -3.11 -m venv .venv .venv\Scripts\activate pip install -r requirements/requirements_win.txt
-
Download dataset: Dataset used: OpenWrite Dataset - Version 2 After downloading the dataset, folder structure should be as following:
Handwriting-OCR
├───.venv
├───data
│ ├───comnist-train-data
│ ├───cyrillicmnist-train-data
│ ├───emnist-train-data
│ ├───test
│ ├───train_processed
│ ├───train_processed_comnist
│ ├───train_processed_cyrillicmnist
│ ├───train_processed_emnist
│ └───val
├───model
└───requirements- Latin scripts: English
- Cyrillic and Latin scripts: Serbian
This project is licensed under the MIT License - see the LICENSE file for details.