1. Text Recognition Data Generator
Github地址: https://github.com/Belval/TextRecognitionDataGenerator
官方文档:https://textrecognitiondatagenerator.readthedocs.io/en/latest/index.html
安装:
1 2 3 4 5 |
# pip 安装,中文不建议 $ pip install trdg -i https://pypi.mirrors.ustc.edu.cn/simple/ # git clone $ git clone https://github.com/Belval/TextRecognitionDataGenerator |
以下根据个人需要:
git clone 解压后进入 /trdg/bin 安装目录:
1 2 3 4 5 6 7 8 9 |
$ mv trdg ../run.py $ cd .. $ vim run.py # 删除 run.py中的 from trdg import, 全部改为 import $ vim data_generator.py # 同上,删除此文件首部的 from trdg import, 改为 import |
- pictures/ 文件夹内存放背景图,可以多添加一些图片用于丰富生成的合成图片;
- fonts/ 文件夹内 cn/ en/分别存放中、英文字体文件(.ttf格式),可以自己在网上下载不同ttf文件放入文件夹内;
- string_generator.py 定义了图片上的文本如何选取,可以自行定义(博主在Centos7服务器上中文好像一直有乱码问题,只能修改string 的编码)
- data_generator.py 是按照给定参数生成图片,最好在里面加上 try / except,大规模合成数据万一有一个case报错就要重新生成,很麻烦,相应的在 bin/trdg 文件中修改相应的生成 labels.txt 的代码,保证一致(这里也可能涉及到保存的中文文本乱码,如果是的话也要修改string的编解码)
生成命令(示例,具体见官方文档):
1 |
$ python trdg -l cn -c 1000000 -d 1 -rs -b 3 -w 20 -bl 1 -rbl -tc '#000000,#888888' -f 64 -t 32 --output_dir 'sin-100w' |
- -l cn: language 为中文
- -c 1000000: 生成1000000张图
- -d 1: 文字按正弦函数曲线分布(0为不弯曲,1为sin,2为cos)
- -rs: 图片文字随机选取;
- -b 3: 背景图像从pictures文件夹中的图像上随机截取(0为高斯白噪声背景,1为白色背景,2为quasicrystal,3为自定义图片)
- -bl 1 -rbl: 随机模糊,1为模糊的kernel size
- -tc '#000000, #888888': 颜色变化区间
- -f 64: 水平分布文字图像的高(像素64)
- --output_dir 'sin-100w': 输出文件夹
2. Text Render
Github地址:https://github.com/Sanster/text_renderer
参见 github 的 README.md.
3. SynthText
Github地址: https://github.com/ankush-me/SynthText