您当前的位置:首页 > 计算机 > 编程开发 > Python

文本识别数据生成器-TextRecognitionDataGenerator

时间:11-21来源:作者:点击数:
CDSY,CDSY.XYZ

功能

用于文本识别的合成数据生成器。

生成文本图像样本来训练 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.

参考:

GitHub - Belval/TextRecognitionDataGenerator: A synthetic data generator for text recognition  开源github

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐