Python3.x:pytesseract识别率提高(样本训练)

1,下载并安装3.05版本的tesseract

 地址:https://sourceforge.net/projects/tesseract-ocr/

2,如果你的训练素材是很多张非tif格式的图片,首先要做的事情就是将这么图片合并(个人觉得素材越多,基本每个字母和数字都覆盖了训练出来的识别率比较好)

 下载这个工具:VietOCR.NET-3.3.zip

 地址:http://sourceforge.net/projects/vietocr/files/latest/download?source=files

 首先进行jpg,gif,bmp到tif的转换,这个用自带的画图就可以。然后使用VietOCR.NET-3.3进行多张 tif的merge。

3,Make Box Files。在orderNo.tif所在的目录下打开一个命令行,输入

 C:\Program Files\Tesseract-OCR>tesseract.exe lang.jhy.exp8.TIF lang.jhy.exp8 batch.nochop makebox

4, 使用jTessBoxEditor打开orderNo.tif文件,需要记住的是第2步生成的orderNo.box要和这个orderNo.tif文件同在一个目录下。逐个校正文字,后保存。

 下载jTessBoxEditor工具进行每个自的纠正(注意有nextpage逐页进行纠正)

 地址:http://sourceforge.net/projects/vietocr/files/

5,Run Tesseract for Training。输入命令:

 C:\Program Files\Tesseract-OCR>tesseract.exe lang.jhy.exp8.TIF lang.jhy.exp8 nob

 atch box.train

6,Compute the Character Set。输入命令:

 C:\Program Files\Tesseract-OCR>unicharset_extractor.exe lang.jhy.exp8.box

 Extracting unicharset from lang.jhy.exp8.box

 Wrote unicharset file ./unicharset.

7,新建文件“font_properties”。如果是3.01版本,那么需要在目录下新建一个名字为“font_properties”的文件,并且输入文本:(这里的jhy就是lang.jhy.exp8的中间字段)

 jhy   1 0 0 1 0

8,Clustering。输入命令:

 C:\Program Files\Tesseract-OCR>cntraining.exe lang.jhy.exp8.tr

 Reading lang.jhy.exp8.tr ...

 Clustering ...

 Writing normproto ...

9, 此时,在目录下应该生成若干个文件了,把unicharset, inttemp, normproto, pfftable这几个文件加上前缀“selfverify.”。然后输入命令:

必须确定的是1、3、4、5、13行的数据不是-1,那么一个新的字典就算生成了。

此时目录下“selfverify.traineddata”的文件拷贝到tesseract程序目录下的“tessdata”目录。

以后就可以使用该该字典来识别了,例如:

tesseract.exe test.jpg out –l selfverify

Python3.x:pytesseract识别率提高(样本训练)的更多相关文章

  1. pytesseract 识别率低提升方法

    pytesseract 识别率低提升方法 一.跟换识别语言包 下载地址https://github.com/tesseract-ocr/tessdata 二.修改图片的灰度 from PIL impo ...

  2. tesseract-ocr 提高验证码识别率手段之---识别码库训练方法

    本文是对tesseract-ocr 使用的进一步技术升级说明,使用默认的识别库识别率比较低怎么办? 不用着急,tesseract-ocr本身的工具中提供了使用你提供的素材进行人工修正以提高识别率的方法 ...

  3. Tesseract-OCR 字符识别---样本训练 [转]

    Tesseract是一个开源的OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持60多种语言(包括中文).  ...

  4. Tesseract-OCR 字符识别---样本训练

    Tesseract是一个开源的OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持60多种语言(包括中文).  ...

  5. 转 Tesseract-OCR 字符识别---样本训练

    转自:http://blog.csdn.net/feihu521a/article/details/8433077 Tesseract是一个开源的OCR(Optical Character Recog ...

  6. 利用jTessBoxEditor工具进行Tesseract3.02.02样本训练,提高验证码识别率

    1.背景 前文已经简要介绍tesseract ocr引擎的安装及基本使用,其中提到使用-l eng参数来限定语言库,可以提高识别准确率及识别效率. 本文将针对某个网站的验证码进行样本训练,形成自己的语 ...

  7. Tesseract5.0训练字库,提高OCR特殊场景识别率(一)

    0.目标 很多特殊场景,原生的字库识别率不高,这时候就需要根据需求自己训练字库生成traineddata文件. 一.前期准备工作 1.安装jdk   用于运行jTessBoxEditor 2.安装jT ...

  8. Tika结合Tesseract-OCR 实现光学汉字识别(简体、宋体的识别率百分之百)—附Java源码、测试数据和训练集下载地址

     OCR(Optical character recognition) —— 光学字符识别,是图像处理的一个重要分支,中文的识别具有一定挑战性,特别是手写体和草书的识别,是重要和热门的科学研究方向.可 ...

  9. Android Zxing 转换竖屏扫描且提高识别率

    最近的一个Android需要用到扫码功能,用的是Zxing开源库.Zxing的集成就不说了,但是Zxing默认的是横屏扫码,在实际生产中并不适用,需要改为竖屏扫描. 转竖屏步骤: 1>. And ...

随机推荐

  1. 【BZOJ1855】[Scoi2010]股票交易 DP+单调队列

    [BZOJ1855][Scoi2010]股票交易 Description 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预 ...

  2. 【BZOJ3653】谈笑风生 离线+树状数组+DFS序

    [BZOJ3653]谈笑风生 Description 设T 为一棵有根树,我们做如下的定义: ? 设a和b为T 中的两个不同节点.如果a是b的祖先,那么称“a比b不知道高明到哪里去了”. ? 设a 和 ...

  3. 使用Mac App Store更新、下载软件时出现未知错误的解决方法

    很多果迷在使用 Mac App Store 更新/下载软件时,可能都曾被”未知错误”困扰过,怎么解决也不行.然而,过一段时间不知道做了什么又自己好了.今天我们提供两个解决这个问题的方法,下次遇到这个问 ...

  4. java的list集合如何根据对象中的某个字段排序?

    转自:http://blog.csdn.net/wangjuan_01/article/details/51351633 List集合按某个字段排序 package wjtest_01; import ...

  5. js apply()、call() 使用参考

    引入,求一个数组的最大值,有这么一种快捷方法:Math.max.apply(null,arr); 但是最初看 JavaScript高级程序设计 的时候,没看懂,原文(斜体表示)如下: 每个函数都包含两 ...

  6. uid-datepicker

    $("#txtPODate").daterangepicker({singleDatePicker: true,showDropdowns: true,minDate:'01/01 ...

  7. protobuf在java应用中通过反射动态创建对象(DynamicMessage)

    ---恢复内容开始--- 最近编写一个游戏用到protobuf数据格式进行前后台传输,苦于protobuf接受客户端的数据时是需要数据类型的如xxx.parseForm(...),这样就要求服务器在接 ...

  8. because of an existing model object of the same name

    背景: 视图解析器(我们用的是velocity) 报错: because of an existing model object of the same name 按照网上给的原因 : 设置了属性ex ...

  9. python常见模块之os模块

    os模块是python系统与操作系统交互的一个接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前 ...

  10. Flask之视图函数

    视图示例 @app.route('/hello') def hello(): return 'Hello World' if __name__ == '__main__': app.run() 特殊的 ...