参考:https://groups.google.com/forum/#!msg/tesseract-ocr/MSYezIbckvs/kO1VoNKMDMQJ

V4版本代码示例 :

import pytesseract
from PIL import Image as img text = pytesseract.image_to_string(img.open('src2\B1.jpg'), lang='teld+chi_sim', config='--psm 3 --oem 1')
print(text.replace('”', ''))

合并识别结果


在实际使用 tesseract-orc 识别库的时候,初次制作的识别库很有可能识别率不太理想,需要后期慢慢补充。将多个修正过的box文件合并成一个识别库。
  • 首先,需要图片样本.tif文件,位置文件.box ,只要有这两个文件在,就可以合并字典

假设已存在如下样品图片和修正过的box文件:

  • image.font.1.tif image.font.1.box
  • image.font.2.tif image.font.2.box
  • image.font.3.fit image.font.3.box

1、先生成相对应的 .tr 文件

  • tesseract image.font.1.tif image.font.1 nobatch box.train
  • tesseract image.font.2.tif image.font.2 nobatch box.train
  • tesseract image.font.3.tif image.font.3 nobatch box.train

2、提取字符

  • unicharset_extractor image.font.1.box image.font.2.box image.font.3.box

3、生成字体特征文件

  • echo image 0 0 0 0 0 >font_propertiesfont

4、执行如下命令

  • mftraining -F font -U unicharset image.font.1.tr image.font.2.tr image.font.3.tr

5、聚集所有.tr 文件

  • cntraining image.font.1.tr image.font.2.tr image.font.3.tr

6、重命名文件

  • unicharset
  • inttemp
  • normproto
  • pfftable
  • shapetable

7、合并所有文件 生成一个大的字库文件

  • combine_tessdata image.

示例代码:

/*生成box文件*/
/*tesseract teld.shz.exp0.tif teld.shz.exp0 -l chi_sim --psm 3 --oem 1 batch.nochop makebox*/ tesseract teld.shz.exp0.tif teld.shz.exp0 -l chi_sim batch.nochop makebox /*生成font_properties文件*/
echo shz 0 0 0 0 0 >font_properties /*生成.tr训练文件*/
tesseract teld.shz.exp0.tif teld.shz.exp0 nobatch box.train /*生成字符集文件*/
unicharset_extractor teld.shz.exp0.box /*生成shape文件*/
shapeclustering -F font_properties -U unicharset teld.shz.exp0.tr /*生成聚字符特征文件*/
mftraining -F font_properties -U unicharset teld.shz.exp0.tr /*生成字符正常化特征文件*/
cntraining teld.shz.exp0.tr /*文件重命名*/
rename normproto teld.normproto
rename inttemp teld.inttemp
rename pffmtable teld.pffmtable
rename shapetable teld.shapetable
rename unicharset teld.unicharset /*合并训练文件*/
combine_tessdata teld.

 参考资料


OCR6:Custom Traineddata的更多相关文章

  1. 管理后台-第二部分:Custom sections in Umbraco 7 – Part 2 the views(翻译文档)

    在上一篇文章中我们讨论了怎样在我们Umbraco7.0版本中去添加一个新的自定义的应用程序(或部分)和如何去定义一个树.现在我将给你展示你改何如添加视图,来使你的内容可以做一些更有意义的事情. The ...

  2. Unity扩展编辑器--类型3:Custom Editors

    Custom Editors 加速游戏制作过程的关键是为哪些频繁使用的组件创建自定义的编辑器,为了举例,我们将会使用下面这个极其简单的脚本进行讲解,它的作用是始终保持一个对象注视某一点. public ...

  3. 问题:Custom tool error: Failed to generate code for the service reference 'AppVot;结果:添加Service Reference, 无法为服务生成代码错误的解决办法

    添加Service Reference, 无法为服务生成代码错误的解决办法 我的解决方案是Silverlight+WCF的应用,Done Cretiria定义了需要在做完Service端的代码后首先运 ...

  4. Windows-universal-samples学习笔记系列五:Custom user interactions

    Custom user interactions Basic input Complex inking Inking Low latency input Simple inking Touch key ...

  5. Entity Framework 6.0 Tutorials(8):Custom Code-First Conventions

    Custom Code-First Conventions: Code-First has a set of default behaviors for the models that are ref ...

  6. Tomcat:Custom a common error page valve for all web application in tomcat

    如果在一个Tomcat Server上会部署多个Web应用,又希望这多个Web应用共用一套错误页面,而不是使用默认的错误页面.就需要自定义错误页面了. 在每个web应用中都可以通过error-page ...

  7. EBS增加客制应用CUX:Custom Application

    1. 创建数据库文件和帐号 [root@ebs12vis oracle]# su - oracle[oracle@ebs12vis ~]$ sqlplus / as sysdba SQL*Plus: ...

  8. 展望未来:使用 PostCSS 和 cssnext 书写 CSS

    原文链接:A look into writing future CSS with PostCSS and cssnext 译者:nzbin 像twitter,google,bbc使用的一样,我打算看一 ...

  9. 如何用Unity制作自定义字体——Custom Font

    一.效果图 二.步骤 将美术做好的字体分块导入BMFont,使用BMFont工具生成艺术字库: 将上面的数据导入unity资源目录下:*.fnt文件中记录每个文字的状态信息: 导入*.png图片并设置 ...

随机推荐

  1. macos -bash: yarn: command not found/-bash: cnpm: command not found

    -bash: cnpm: command not found-bash: yarn: command not found-bash: xxxx: command not found如上yarn/cnp ...

  2. ABP JS调用接口 获取返回的数据

    var _userService = abp.services.app.user; console.log(abp.services.app.user); _userService.getUserBy ...

  3. (转)简单的Malloc实现

    现在,一般来说,我们可以实现malloc使得对malloc的调用将会被映射到系统调用sbrk上,sbrk(n)将会移动程序中断的位置-也就是程序的data段的最后.-偏移n个字节,这意味着,n个字节的 ...

  4. Seminar Schedule

    Seminar Schedule (C2017 | 2019.9-12 | 3rd semester S0500783) *************************************** ...

  5. Python、Spyder的环境搭建

    有什么不对欢迎大家指出,一起交流啊,只针对Windows!!!!(苹果买不起...)Python安装的话2.7版本和3.6版本都可以,虽然2.7比较全面,但还是建议安装3.6,这里以3.6为例进行介绍 ...

  6. UDF——监测指定点的物理量

    Fluent版本:2019 R1 Visual Studio版本:Visual Studio 2013 其他版本应该也是适用的 算例来源于:https://confluence.cornell.edu ...

  7. python实现双向循环链表

    参考https://www.cnblogs.com/symkmk123/p/9693872.html#4080149 # -*- coding:utf-8 -*- # __author__ :kusy ...

  8. 线程互斥synchronized

    /** * * 线程互斥,采用synchronized关键字可以实现线程与线程之间的互斥,要注意的是在synchronized上的对象要是同一个,才可以 * 保证在同一时刻,只有一个线程可以执行syn ...

  9. SSM 整合配置

    目录 1. Maven : pox.xml 2. Web container : web.xml 3. Spring context : dbconfig.properties + applicati ...

  10. The Preliminary Contest for ICPC Asia Nanjing 2019/2019南京网络赛——题解

    (施工中……已更新DF) 比赛传送门:https://www.jisuanke.com/contest/3004 D. Robots(期望dp) 题意 给一个DAG,保证入度为$0$的点只有$1$,出 ...