5 Tesseract-ocr 系列 : 使用 jTessBoxEditor,结合 tesseract-ocr-3.4 进行训练、识别

8 篇文章 0 订阅
4 篇文章 0 订阅

首先,本地环境: Ubuntu 16.40 + Tesseract-ocr + jTessBoxEditor 1.7.3
(具体的环境搭建在之前都有介绍,此处不再赘述。)

这里详细介绍使用图片文件作为输入的训练方法。比如我的训练素材是十张带字体格式的数字图片,最后我经过训练得到的语言库为: num1.tessdata

  1. 准备好用作训练素材的图片:
    这里写图片描述

  2. 跳转到 jTessBoxEditor 的安装目录,打开 jTessBoxEditor 客户端:

    cd  /your/path/jTessBoxEditor-1.7.3
    java -Xms128m -Xmx1024m -jar jTessBoxEditor.jar

    这里写图片描述

  3. 由素材图片生成 ~.tif 文件; 即 图片素材 –> .tif
    a) Tools -> Merge TIFF

    这里写图片描述

    b) 弹出对话框:Select Input Images

    这里写图片描述

    c) 弹出对话框:Save Multi-page TIFF Image

    这里写图片描述

    D)此步成功会在保存路径中生成 ~.tif 文件,在这里就是 num1.invoicenum.exp0.tif

  4. 由 .tif 文件 -> .box 文件
    两种方式:jTessBoxEditor 和 命令行。
    a) jTessBoxEditor

    这里写图片描述

    b) 命令行输入:

    tesseract num1.invoicenum.exp0.tif num1.invoicenum.exp0 batch.nochop makebox

    // 此步执行成功会生成 ~.box 文件,在这里就是 num1.invoicenum.exp0.box

  5. 修正 Box 文件

    这里写图片描述

    这里写图片描述

    // 以后的操作都可以选择 jTessBoxEditor 或者 命令行 来操作,这里选择的是 命令行:

  6. 由 .box 文件 -> .tr

    tesseract num1.invoicenum.exp0.tif num1.invoicenum.exp0 box.train.stderr
  7. 由 .box 文件 -> unicharset

    unicharset_extractor num1.invoicenum.exp0.box
  8. 生成 font_properties // 本质是 ~.txt 文件,但是不带后缀

    echo invoicenum 0 1 1 0 1 >font_properties
  9. 由 font_properties, unicharset, .tr -> shapetable

    shapeclustering -F font_properties -U unicharset num1.invoicenum.exp0.tr
  10. 由 font_properties, unicharset, .tr ->lang.unicharset, inttemp, pffmtable

    mftraining -F font_properties -U unicharset -O num1.unicharset num1.invoicenum.exp0.tr
  11. 由.tr 文件 -> normproto

    cntraining num1.invoicenum.exp0.tr

    这里写图片描述

  12. 重命名 以 lang. 开头重命名 inttemp, normproto, pffmtable, shapetable

    mv inttemp num1.inttemp
    mv normproto num1.normproto 
    mv pffmtable num1.pffmtable 
    mv shapetable  num1.shapetable

    // 重命名后有
    这里写图片描述

  13. 合并生成 lang.traineddata文件,在这里为 num1.traineddata

    combine_tessdata num1.

    这里写图片描述

  14. 将生成的lang.traineddata 文件拷贝到系统中 ~/tessdata/目录下.
    如我的tessdata目录为: /usr/local/share/tessdata/

    sudo cp /your/path/num1.traineddata /usr/local/share/tessdata/
  15. 测试
    要识别的图片:
    这里写图片描述
    a) 使用自带的语言库 eng.traineddata 识别结果:
    这里写图片描述
    b) 使用刚才训练得到的库 num1.tessdata 识别结果:
    这里写图片描述

End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值