The project tries to create software for recognition of a handwritten text from photos (also for Czech language). It uses computer vision and machine learning. And it experiments with different approaches to the problem.
Proces of recognition is divided into 5 steps, starting with photo of page with text.
- Detection of page and removal of background
- Detection and separation of words
- Normalization of words
- Separation and recegnition of characters (recognition of words)
Main files combining all the steps are OCR.ipynb or OCR-Evaluator.ipynb. Naming of files goes by step representing - name of machine learning model. Notebooks ending with DM
stands for creation of dataset.
The project is created using Python 3.6 with Jupyter Notebook. Main libraries:
- Numpy (1.13)
- Tensorflow (1.4)
- OpenCV (3.1)
- Pandas (0.21)
- Matplotlib (2.1)
After running the git clone https://github.com/Breta01/handwriting-ocr.git
or downloading the repo, you have to download the datasets and models (for more info look into data and models folders).
With all required libraries installed and cloned repo, run jupyter notebook
in the directory of the project. Then you can work on the particular notebook.
Best way how to get involved is through creating GitHub issues or solving one! If there aren't any issues you can contact me directly on email.
MIT