nblib / text_renderer

Home Page:https://oh-my-ocr.github.io/text_renderer/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Text Renderer

Generate text images for training deep learning OCR model (e.g. CRNN). example

  • Modular design. You can easily add Corpus, Effect, Layout.
  • Support generate lmdb dataset which compatible with PaddleOCR, see Dataset
  • Support render multi corpus on image with different font, font size or font color. Layout is responsible for the layout between multiple corpora
  • Generate vertical text
  • Corpus sampler: helpful to perform character balance

Quick Start

To use text_renderer, you should prepare:

  • Font file: .ttf or...
  • Background image
  • Text: Optional. Depends on the corpus you use.
  • Character set: Optional. Depends on the corpus you use.

Run following command to generate image using example data:

git clone https://github.com/oh-my-ocr/text_renderer
cd text_renderer
python3 setup.py develop
pip3 install -r docker/requirements.txt
python3 main.py \
    --config example_data/example.py \
    --dataset img \
    --num_processes 2 \
    --log_period 10

The data is generated in the example_data/output directory.

main.py script only has 4 arguments:

  • config:Python config file path
  • dataset: Dataset format img/lmdb
  • num_processes: Number of processes used
  • log_period: Period of log printing. (0, 100)

All parameters related to the example image generation process are all configured in example.py

Learn more at documentation

Run in Docker

Build image

docker build -f docker/Dockerfile -t text_renderer .

Config file is provided by CONFIG environment. In example.py file, data is generated in example_data/output directory, so we map this directory to the host.

docker run --rm \
-v `pwd`/example_data/docker_output/:/app/example_data/output \
--env CONFIG=/app/example_data/example.py \
--env DATASET=img \
--env NUM_PROCESSES=2 \
--env LOG_PERIOD=10 \
text_renderer

Build docs

cd docs
make html

Open _build/html/index.html

About

https://oh-my-ocr.github.io/text_renderer/index.html


Languages

Language:Python 99.5%Language:Dockerfile 0.4%Language:Shell 0.2%