VaibhavUpreti / handwriting-recognition

handwriting recognition flask web app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Handwriting Recognition Web Application

This application is designed to recognize handwriting from images.

Demo

Check out the working demo in action:

handy.mp4

Installation

Choose one of the following methods to install the application:

  1. Manual Setup
  2. Docker
  3. Helm Chart (Kubernetes)

Manual Setup

If you prefer to set up the application manually

Requirements

Make sure you have the following prerequisites installed:

  1. Python version >= 3.8
  2. Required Python packages can be found in requirements.txt.
  3. CtCWordBeamSearch
  4. SimpleHTR (optional)

Steps

Recommended to use pyenv 3.10

pip install -r src/requirements.txt

This will install the following packages

  • opencv-python
  • editdistance
  • ultralytics
  • flask
  • tensorflow
  • lmdb
  • path
  • gunicorn
git clone https://github.com/githubharald/CtCWordBeamSearch
cd CtCWordBeamSearch
pip install .

Start Server

python3 src/app.py

Navigate to http://localhost:3000

Docker

Supported Docker images for your convenience:

  1. linux/amd64 - Built using GitHub Actions Runner. See the workflow file for details.
  2. linux/arm64 - Available on Docker Hub.
docker pull ghcr.io/vaibhavupreti/handwriting-recognition:latest
docker run -p 3000:3000 <image_id>

Helm Chart (Kubernetes)

Using Helm...

helm install handy helmchart

Tech Stack

  1. Flask
  2. AWS EC2
  3. Caddy web server

About

handwriting recognition flask web app


Languages

Language:Python 82.7%Language:HTML 12.5%Language:Smarty 3.8%Language:Dockerfile 1.0%Language:Procfile 0.1%