Sanster/text_renderer
Sanster/text_renderer has 1,461 GitHub stars and 383 forks. GitHot measured -1 stars in 24 hours and -1 in 7 days. Last checked 2026-11-12 23:33 UTC. Last push 2022-01-17.
Comment ces chiffres sont mesurés
Generate text images for training deep learning ocr model
Progression mesurée des étoiles
- in 24h
- -1
- in 7 days
- -1
- in 15 days
- Historique en cours
- in 1 month
- Historique en cours
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
OriginalNew version release:https://github.com/oh-my-ocr/text_renderer
Text Renderer
Generate text images for training deep learning OCR model (e.g. CRNN). Support both latin and non-latin text.
Setup
- Ubuntu 16.04
- python 3.5+
Install dependencies:
pip3 install -r requirements.txt
Demo
By default, simply run python3 main.py will generate 20 text images
and a labels.txt file in output/default/.


Use your own data to generate image
Please run
python3 main.py --helpto see all optional arguments and their meanings. And put your own data in corresponding folder.Config text effects and fraction in
configs/default.yamlfile(or create a new config file and use it by--config_fileoption), here are some examples:
| Effect name | Image |
|---|---|
| Origin(Font size 25) | ![]() |
| Perspective Transform | ![]() |
| Random Crop | ![]() |
| Curve | ![]() |
| Light border | ![]() |
| Dark border | ![]() |
| Random char space big | ![]() |
| Random char space small | ![]() |
| Middle line | ![]() |
| Table line | ![]() |
| Under line | ![]() |
| Emboss | ![]() |
| Reverse color | ![]() |
| Blur | ![]() |
| Text color | ![]() |
| Line color | ![]() |
- Run
main.pyfile.
Strict mode
For no-latin language(e.g Chinese), it's very common that some fonts only support limited chars. In this case, you will get bad results like these:



Select fonts that support all chars in --chars_file is annoying.
Run main.py with --strict option, renderer will retry get text from
corpus during generate processing until all chars are supported by a font.
Tools
You can use check_font.py script to check how many chars your font not support in --chars_file:
python3 tools/check_font.py
checking font ./data/fonts/eng/Hack-Regular.ttf
chars not supported(4971):
['第', '朱', '广', '沪', '联', '自', '治', '县', '驼', '身', '进', '行', '纳', '税', '防', '火', '墙', '掏', '心', '内', '容', '万', '警','钟', '上', '了', '解'...]
0 fonts support all chars(5071) in ./data/chars/chn.txt:
[]
Generate image using GPU
If you want to use GPU to make generate image faster, first compile opencv with CUDA. Compiling OpenCV with CUDA support
Then build Cython part, and add --gpu option when run main.py
cd libs/gpu
python3 setup.py build_ext --inplace
Debug mode
Run python3 main.py --debug will save images with extract information.
You can see how perspectiveTransform works and all bounding/rotated boxes.

Todo
See https://github.com/Sanster/text_renderer/projects/1
Citing text_renderer
If you use text_renderer in your research, please consider use the following BibTeX entry.
@misc{text_renderer,
author = {weiqing.chu},
title = {text_renderer},
howpublished = {\url{https://github.com/Sanster/text_renderer}},
year = {2021}
}
Explorer des projets similaires
tensorflow/tensorflow
Un framework open source d'apprentissage automatique pour tous
201,584 étoileshuggingface/transformers
🤗 Transformers : le framework de définition de modèles pour les modèles d'apprentissage automatique de pointe en texte, vision, audio et multimodal, pour l'inférence et l'entraînement.
168,917 étoilesAUTOMATIC1111/stable-diffusion-webui
Interface web de Stable Diffusion
165,300 étoilesComfy-Org/ComfyUI
La GUI, l'API et le backend les plus puissants et modulaires pour les modèles de diffusion, avec une interface de graphes et de nœuds. Le moteur d'inférence local le plus rapide au monde.
146,472 étoiles














