美文网首页
文字识别 OCR 训练样本

文字识别 OCR 训练样本

作者: 飞马_6886 | 来源:发表于2019-11-04 16:00 被阅读0次

    Windows下环境搭建

    1.Tesseract-OCR的安装

    Tesseract-OCR遵循Apache 2.0 license开源协议。
    官方地址:https://github.com/tesseract-ocr/tesseract

    下载地址:https://digi.bib.uni-mannheim.de/tesseract/
    你也可以查看源码编译安装:https://github.com/tesseract-ocr/tesseract/wiki/Downloads
    或者非官方安装包:https://github.com/UB-Mannheim/tesseract/wiki

    这里我下载了最新的V5.0.0.20190623版本,一路next ,知道安装完成 ,然后把下图中的目录配置到系统环境变量


    Tesseract_OCR.png

    安装后要配置系统环境变量(一般会自动配置)

    使用命令测试: tesseract tif文件 要生成的文件名路径 -| traineddata文件

    示例:

    tesseract D:\ma\NDK\训练例子\sa\0id16.tif y -| "D:\Program Files\Tesseract-OCR\tessdata\eng.traineddata"

    会在当前目录生成一个文件 y.txt

    2.安装 jTessBoxEditor

    下载地址:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/
    下载之后解压缩,如图:

    jTessBoxEditor.png

    在命令行窗口运行jTessBoxEditor.jar 命令: java -jar 文件全路径
    出现如下如界面:


    jTessBox运行界面.png

    准备样本

    java -jar jTessBoxEditor .jar 运行后
    jTessBoxEditor ->tools->merge tiff, 选择需要训练的 tif 文件


    megerTIFF.png

    文件名必须是如下格式:[lang].[fontname].exp[num]
    lang:语言名(训练生成的示为语言)
    fontname:字体名
    num:序号(无所谓)
    于是可以得到一个命名为 zh.song.exp0.tif 的文件

    生成BOX

    命令:

    tesseract zh.song.exp1.tif zh.song.exp1 batch.nochop makebox

    tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num]
    batch.nochop makebox
    [lang].[fontname].exp[num] 2.2 给我们的结果,
    [lang].[fontname].exp[num] 名字与上面的相同,这个是保存 box 文件的名字
    batch.nochop makebox

    训练

    1.在训练的当前目录创建font_properties文件,此文件没有后缀

    文件内容为 :
    <fontname> <italic> <bold> <fixed> <serif> <fraktur>
    例如:

    song 0 0 0 0 0

    italic:斜体 0/1
    bold:黑体 0/1
    fixed:默认字体 0/1
    serif:衬线字体 0/1
    fraktur:德文黑字体 0/1

    2.产生字符特征文件:

    命令:

    tesseract zh.song.exp1.tif zh.song.exp1 box.train

    运行此命令后会多出两个文件,如下图:

    tesseract box train.png

    3.计算字符集:

    命令:
    unicharset_extractor [lang].[fontname].exp[num].box


    计算字符特征.png

    运行以上命令后,目录里面会生成 unicharset 文件

    4. 聚集字符特征

    shapeclustering -F font_properties -U unicharset [lang].[fontname].exp[num].tr
    [可以不运行] 生成 shapetable 文件
    mftraining -F font_properties -U unicharset -O [lang].unicharset [lang].[fontname].exp[num].tr

    mftraining命令.png

    5.生成字符形状正常化特征文件

    命令格式:cntraining [lang].[fontname].exp[num].tr

    生成 normproto 文件
    命令:cntraining zh.song.exp1.tr


    cntraining命令.png

    重命名 shapetable, normproto, inttemp, pffmtable
    [lang].shapetable
    [lang].normproto
    [lang].inttemp
    [lang].pffmtable
    名称:
    zh.shapetable
    zh.normproto
    zh.inttemp
    zh.pffmtable
    命令:
    ren shapetable zh.shapetable
    ren normproto zh.normproto
    ren inttemp zh.inttemp
    ren pffmtable zh.pffmtable


    重命名.png

    6.生成 tessdata 文件

    运行 combine_tessdata [lang].
    得到 *.traineddata 结果

    combine_tessdata zh.

    得到zh.traineddata.png
    经过以上步骤,就可以得到traineddata文件了,在你的项目中可以直接使用了。

    相关文章

      网友评论

          本文标题:文字识别 OCR 训练样本

          本文链接:https://www.haomeiwen.com/subject/hberbctx.html