文本识别数据生成器-TextRecognitionDataGenerator

功能
用于文本识别的合成数据生成器。
生成文本图像样本来训练 OCR 软件。
原理:单词将从特定语言的字典中随机选择。然后将通过使用指定的字体、背景和修改(倾斜、模糊等)来生成这些单词的图像。
安装
docker pull belval/trdg:latest
docker run -it --name trdg -v /output/path/:/app/out/ belval/trdg:latest

路径 ( /output/path/) 必须是绝对路径。

使用
参数
描述
-i , --input_file
Learning Words collection that is built (dictionaries)当你想使用一个非学习词集合时直接建立的。
(但是指向一个学习词的集合,它必须满足 -l使用语言生成的学习数据也需要改变)
--output_dir
您可以指定保存生成数据的位置,默认为'/out'目录。
-c, --count
要生成的训练数据的数量。默认值为 1000。
-l,--language
用于改变学习数据的语言
-t , --thread_count
生成训练数据时使用的 CPU 内核数
-f , --format
要创建的图像的大小,默认为32像素
-ft , --font
用于指定要创建的学习数据使用的特定字体文件(但是,如果要创建多个字体,则无需指定特定字体文件)
0、将训练数据生成的数量设置为 10,结果存储目录'/out' 中,创建了由随机单词组成的英文字符串数据
1、得到 1000 张随机生成的图像,trdg -c 1000 -w 5 -f 64 -l cn
2、文字倾斜,trdg -c 1000 -w 5 -f 64 -k 5 -rk
3、文字扭曲,使用 -d 和 -do 为生成的文本添加失真 trdg -c 1000 -w 5 -f 64 -d -do
4、文字模糊,添加-rbl 以使用用户定义的半径(此处为 0、1、2、4)对生成的图像进行高斯模糊
trdg -c 1000 -w 5 -f 64 -rbl
5、背景,添加 -b 以定义三种可用背景之一:高斯噪声 (0)、纯白色 (1)、准晶体 (2) 或图像 (3)。使用图像背景时 (3)。 将随机选择 images/ 文件夹中的图像并在其上写入文本。
6、手写,添加-hw! (实验性)。它使用了一个使用 Grzego 这个优秀项目训练的 Tensorflow 模型。如果您不使用此功能,该项目不需要运行 TensorFlow。
7、字典,文本是在字典文件(可以在 dicts 文件夹中找到)中随机选择的,并绘制在由高斯噪声制成的白色背景上。 生成的图像保存为 [text]_[index].jpg
您可以调整很多参数以获得所需的结果,因此我建议您查看 trdg -h 以获取更多信息。
生成的图片如下:
python调用:
from trdg.generators import (
    GeneratorFromDict,
    GeneratorFromRandom,
    GeneratorFromStrings,
    GeneratorFromWikipedia,
)

# The generators use the same arguments as the CLI, only as parameters
generator = GeneratorFromStrings(
    ['Test1', 'Test2', 'Test3'],
    blur=2,
    random_blur=True
)

for img, lbl in generator:
    print(img, lbl)  # <PIL.Image.Image image mode=RGB size=64x32 at 0x7FAC2DAA8AC8> Test2
    # Do something with the pillow images here.

参考:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值