C语言CV10版怎么生成结果,CV学习笔记(十九):文本数据集生成(text_renderer)

在上一次咱们进行完银行卡卡号定位后,有一个问题在于咱们没办法得到不少的银行卡图片来进行训练,比较常规的方法是咱们来使用银行卡图片的背景,来生成含有银行卡卡号的数据集来让机器进行训练。在这里我用的是GitHub上的一个开源项目,github.com/Sanster/text,功能很全面,这篇文章将说说如何使用这个开源项目。github

署好项目后,直接运行main.py就能够生成默认的参数。

90880b1a1b9ae450566d632a31d1d265.png

这里默认的参数,在config->default.yaml中能够修改,好比字体的颜色,随机生成的文字,背景,文字的亮暗,以及给图片加噪声,功能很强大,各类数据都很容易伪造。ide

由于是伪造银行卡,我选择了一些银行卡的背景信息,尽可能保证图片中干扰少,可是如今银行卡五花八门,这样的也得考虑到。函数

80f5f4301294a62ca72310a3d049f7ad.png

如今在银行卡中由于分为储蓄卡和信用卡,储蓄卡大多用的是Barcodesoft 的 Farrington 7B,是图下这种感受,也有部分银行采用的是黑体和隶书。学习

a352d0b5b4092be91002ddd92e4a1c7f.png

而信用卡还有一种压单交易的方式,就是利用信用卡正面突起的信息在压敏单据上压出信息,字体须要突出有锐利,一些银行会采用楷体,不过仍是会有不少银行仍使用Farrington 7B。字体

知道前提这些消息后,咱们如今须要对项目的一些参数进行修改,来产生咱们所须要的图片code

1:进入text_renderer\data\bg,选取你想要的背景(这里我选择的是银行卡背景)blog

2:进入text_renderer\data\corpus,这里边是你要产生的内容,由于银行卡号都是数字(储蓄卡19位,信用卡16位),删除原来的文件,新建一个这样类型的txt图片

054267e42f4efa2a87b0ae4e1c4d7fa2.png

3:进入parse_args.py,修改一些参数,在parse_args()函数里,咱们能够调节产生的图片数量(默认20),产生数字的长度(默认10),由于后续要喂到CRNN中,我这里的尺寸为280*32,须要修改:get

491b9d4f0f8107e2138c74d8e515a2b5.png

这里的chars_file改为eng.txt,由于数字在英文字符中

bc869946461782c02cc51aab2ac3b700.png

这里的fonts_list改成eng.txt,是英文字体列表,咱们要把刚才上文中所说的字体放到相应的文件夹下

73505e3c926bd1559edc18f17ac63280.png

如今修改完了,运行main.py便可:

93830cdd68e4def5666e5fdacee21d8b.png

生成的图片如上所示,可是打开tmp_lable.txt来看:

add95651e5352d468e9bd5c0c7e52a0c.png

第一列是文件名,第二列是咱们图片的内容,咱们模型所须要的数据集格式为:第一列文件名.格式,第二列图片内容。在这里,咱们修改下main.py:

d84ed3f96624d2613409f88c82193d35.png

这样,咱们就获得了符合格式的数据集:

4ab45d8d159ad98888bb085aa10859ff.png

多改改参数,样本多样化一些,训练便可

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值