原项目地址:https://github.com/Sanster/text_renderer
我做的一些功能扩充后项目地址:https://github.com/SeventhBlue/textGenerationTool
1、如何使用
进入工程目录,直接运行main.py,就会生成相应的数据。
2、需要根据自己需求更改的设置
2.1、parse_args.py
这个文件是运行的默认参数设置。其中最可能的需要更改的有,生成样本的数量、生成样本时保存的路径、以及生成样本时是随机字符还是带有语义的文本信息等。
2.2、default.yaml
这个文件比较重要。里面涉及的都是把图片设置成什么样的数据。
2.3、./data/bg/
这个文件下是文本图片的背景颜色设置。添加什么图片,训练数据就会有什么样的图片。如果添加了背景图片,但是训练样本图片却没有对应的效果。有两种可能。
第一种可能,在default.yaml文件中下面这个参数设置为false
img_bg:
enable: false
fraction: 0.8
第二种可能,只生成黑白图片。下面两个参数设置成false了。
font_color:
enable: false
blue:
fraction: 0.1
l_boundary: [0,0,150]
h_boundary: [60,60,255]
brown:
fraction: 0.1
l_boundary: [139,70,19]
h_boundary: [160,82,43]
black:
fraction: 0.8
l_boundary: [0,0,0]
h_boundary: [10,10,10]
line_color:
enable: false
black:
fraction: 0.5
l_boundary: 0,0,0
h_boundary: 64,64,64
blue:
fraction: 0.5
l_boundary: [0,0,150]
h_boundary: [60,60,255]
2.3、./data/chars/字库的文件存放路径
把自己弄好的字库放到该文件中(注意文件名字不要更改,如果更改的话,在parse_args.py中也需要做调整)。
2.4、./data/corpus/语料存放的路劲
2.5、./data/fonts/字体类型存放路径
注意,在./data/fonts/中添加了字体,同时需要在./data/fonts_list/chn.txt文件中添加相应的路径。
3、扩充的功能
3.1、otherFn.py
这个文件主要是检查自己设置的字库是否有重复字符,和./data/corpus/语料中的字符在./data/chars/chn.txt字库中的覆盖面。
3.2、label2std.py
把生成的文本训练数据的label从 [00000000 笔旎望舶蚕薮络屉髑瓯] 格式生成 [00000000.jpg 952 4958 480 3229 3449 5174 745 4675 5799 3823] 格式。后面的label格式才能进行训练,后面的数字是./data/chars/chn.txt中文字符的对应的索引。
3.3、analyzeData.py
该文件是对生成的样本数据进行分析。