Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TeluguOCR/banti_telugu_ocr
End to end OCR system for Telugu. Based on Convolutional Neural Networks.
https://github.com/TeluguOCR/banti_telugu_ocr
Last synced: 6 days ago
JSON representation
End to end OCR system for Telugu. Based on Convolutional Neural Networks.
- Host: GitHub
- URL: https://github.com/TeluguOCR/banti_telugu_ocr
- Owner: TeluguOCR
- License: apache-2.0
- Created: 2015-01-12T06:00:30.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2021-07-28T10:17:29.000Z (over 3 years ago)
- Last Synced: 2024-08-03T04:05:45.039Z (4 months ago)
- Language: Jupyter Notebook
- Homepage:
- Size: 12.7 MB
- Stars: 48
- Watchers: 17
- Forks: 18
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ocr - End to end OCR system for Telugu. Based on Convolutional Neural Networks.
README
# Comprehensive OCR System for Telugu Language
## The Banti FrameworkThis framework relies on the ability of a segmentation algorithm to break the
text in to glyphs. Hence it can be extended to other scripts with well
seperated images like Malayalam, Oriya, Tamil, Kannada, Thai etc.# Features
+ Opens box files generated by antanci_segmenter
+ Passes them to a neural network trained by [theanet](https://github.com/rakeshvar/theanet)
+ n-gram modelling of the language
+ Ability to stich broken glyphs (using the language model).# Dependencies
1. Python3
1. Numpy, Scipy, Nose etc.
1. [Theano](https://github.com/Theano/Theano)
1. Pillow
1. [Theanet](https://github.com/rakeshvar/theanet)# Installation Instructions
## Using Docker Image
Easiest method is to ``pull`` the pre-built image from [Docker hub](https://hub.docker.com/r/chprasad/banti_telugu_ocr/) and ``run`` in a container. You can do this with the following commands.1. ``docker pull chprasad/banti_telugu_ocr:20160310``
2. ``docker run -it chprasad/banti_telugu_ocr:20160310 /bin/bash``If you do not have Docker on your machine, you can set that up first with instrictions available from [Docker](https://www.docker.com/) documentation.
## Manual Installation
1. These instructions are tailored to Ubuntu. You should make changes based on your OS.2. Use python3. You should already have it. Just type `which python3` and check. You will also be using `pip3`. Python3.4 comes with `pip3`. Python3.3 and older need additional installation of `pip3`. We recommend you upgrade to Python3.4.
#### Dependencies
1. Install system dependencies.
```sh
sudo apt-get install python3-dev python3-pip g++ libopenblas-dev git
```1. Install requirements.
If you are using python 3 virtual environment, run
```sh
pip install -r requirements.txt
```If you want to install them system wide, run
```sh
sudo pip3 install -r requirements.txt
```#### Usage
1. Clone this repo. ([banti_telugu_ocr](https://github.com/TeluguOCR/banti_telugu_ocr))
```sh
git clone [email protected]:TeluguOCR/banti_telugu_ocr.git
cd banti_telugu_ocr
```1. Set the following theano flag(s). (I just put the following in my .bashrc file.)
```sh
export THEANO_FLAGS='floatX=float32'
```1. Run the ocr program as
```sh
python3 recognize.py sample_images/praasa.tif
```
You will find the output in `sample_images/praasa.ml.txt, praasa.nogram.txt, praasa.gram.txt`. Pick the one that works best for you.You can also use other image formats as
```sh
python3 recognize.py .[jpg|png|...]
```
To see full options and get help run
```sh
python3 recognize.py -h
```
This program can also perform OCR on a `box` file generated by [antanci_ocr](https://github.com/TeluguOCR/antanci_ocr) system.
```sh
python3 recognize.py sample_images/praasa.box
```