zoukankan      html  css  js  c++  java
  • tesseract训练新字库

    今天我要讲一下如何生成新的识别库

    请注意:在您的电脑上安装有tesseract软件 和 jTessBoxEditor软件   系统为ubuntu

    下载地址:tesseracthttps://code.google.com/p/tesseract-ocr/downloads/list

             jTessBoxEditor:http://vietocr.sourceforge.net/training.html

     

    1.新建一个文件夹test 该文件夹会保存本次项目所有的文件

    将需要的字库图片放到test目录下,文件名为lang.fond.exp0.jpg 

     

    Lang 为语言 fond 为字体 我们用的是chi.test.exp0.jpg

    这个图片文件需要自己生成。

    2.生成box文件。

       tesseract chi.test.exp0.jpg chi.test.exp0 batch.nochop makebox

    该操作将会生成chi.test.exp0.box文件。这个文件描述了图片里所有字的框架

    3.下面我们就要编辑这个box文件

     

    可以看出来文件识别多错了,并且文字框架也有不对的,所以我们要对所有的框架编辑。

     

    修改成这样。中文先用拼音代替。因为这个软件不能打中文。

    将里面的拼音改成中文

     

    4.运行tesseract chi.test.exp0.jpg chi.test.exp0 box.train

      这一步生成chi.test.exp0.tr文件

    5.运行unicharset_extractor chi.test.exp0.box

      这一步生成unicharset文件

    6.下面就要新建字体文件

       font_properties 文件内容为test1 0 0 1 0

    7.运行 shapeclustering -F font_properties -U unicharset chi.test.exp0.tr

      生成shapetable文件

    8.运行mftraining -F font_properties -U unicharset -O chi.unicharset chi.test.exp0.tr

    生成chi.unicharset  inttemp这两个文件。

    9.运行cntraining chi.test.exp0.tr

      生成normproto这个文件

    10.下面就要合并这些文件了,生成一个字体库

    在inttemp normproto pffmtable加上前缀chi.

    运行combine_tessdata chi.

    (注意chi后面的那个点必须要输入的)

    如果第2.4.5.6行不为0.那么就算生成了字体库文件。

    11.测试生成的字体库文件。

        

    tesseract -l chi chi.test.exp0.jpg out

    打开out.txt 

     

    还有一些识别错误,需要优化。

  • 相关阅读:
    CentOS 安装 nginx 教程
    CentOS 安装 NETCore 教程
    Bootstrap Blazor 组件介绍 Table (三)列数据格式功能介绍
    Net Core 一个简单的封装,缓存表达式树去生成反射的调用
    c#缩放图片
    .net5创建sqlite数据库文件
    使用C#处理图片
    Python enumerate()函数
    在R语言中,使用类似Python原生字符串的方式处理路径
    利用BAT脚本生成空文件夹
  • 原文地址:https://www.cnblogs.com/xiaokangzi/p/3576147.html
Copyright © 2011-2022 走看看