Tesseract-OCR的Training简明教程

https://blog.csdn.net/blueheart20/article/details/53207176

一、安装:

选择对应版本,https://digi.bib.uni-mannheim.de/tesseract/

1:下载安装包

根据https://github.com/tesseract-ocr/tesseract/wiki,我找到非官方的安装包,好像我只看到64位的安装包http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe,下载后直接安装即可,但是要记得你的安装目录,我们等会配置环境变量要用。

如果不是做英文的图文识别,还需要下载其他语言的识别包https://github.com/tesseract-ocr/tesseract/wiki/Data-Files。

简体字识别包:https://raw.githubusercontent.com/tesseract-ocr/tessdata/4.00/chi_sim.traineddata

繁体字识别包:https://github.com/tesseract-ocr/tessdata/raw/4.0/chi_tra.traineddata

2:安装

直接执行下载好的tesseract-ocr-setup-4.00.00dev.exe,下一步、下一步安装。

3:配置环境变量

打开命令终端,输入:tesseract -v,可以看到版本信息

到这里,我们就算安装完成了,但是,我们的系统还是无法识别中文的,我们要去下载简体汉字、繁体汉字语言包(上文给了地址了),语言包是放在 tessdata文件下即可。

问题解决:

在windows下安装成功之后,进行tesseract的操作,碰到如下错误信息: E:\testdir>tesseract test.png test1 -l eng Error opening data file \Program Files (x86)\Tesseract-OCR\tessdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed loading language 'eng' Tesseract couldn't load any languages! Could not initialize tesseract.    错误信息的关键词是tesseract_prefix的环境变量设置。

解决办法:  找到testData所在的目录,默认情况下是在tesseract安装的目录,在环境变量中设置TESSDATA_PREFIX的环境变量为testdata所在的目录即可。

增加一个TESSDATA_PREFIX变量名,变量值还是我的安装路径C:\Program Files (x86)\Tesseract-OCR;

重新运行命令即可正常使用。

参考:https://blog.csdn.net/blueheart20/article/details/53207176?utm_source=copy

二、识别

1、进入cmd,进入到要识别的图片的路径下。

2、输入命令

tesseract 图片名称 生成的结果文件的名称 字库

例如:

tesseract test.jpg result -l chi_sim

识别完后会生成result.txt文件

当然啦效果不太理想。所以我们要训练自己的字库。

三、训练

1、将图片转换成tif格式,用于后面生成box文件。可以通过画图,然后另存为tif即可。

更改图片名字,这个是有要求的=。=

tif文面命名格式[lang].[fontname].exp[num].tif
lang是语言 fontname是字体 
比如我们要训练自定义字库 mjorcen字体名normal
那么我们把图片文件重命名 mjorcen.normal.exp0.jpg在转tif。

2、生成box文件。

1
tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 -l chi_sim batch.nochop makebox

box文件和对应的tif一定要在相同的目录下,不然后面打不开。

3、打开jTessBoxEditor矫正错误并训练

打开train.bat

找到tif图,打开,并校正。

问题:

最初在jTessBoxEditor中,所有中文字体都显示乱码(方框),只需要的设置中,将字体修改成【宋体】就没问题了 。

4、训练。

只要在命令行输入命令即可。

1
tesseract  mjorcen.normal.exp0.jpg mjorcen.normal.exp0  nobatch box.train
1
unicharset_extractor mjorcen.normal.exp0.box

在这我明明已经矫正好了,但是还是有1个字符不能识别出来,报的错跟实际上完全没有相关性,不知道是不是bug,到后面的结果就是“园”字没有识别出来。

先不管,毕竟只有一个样本。

新建一个font_properties文件

里面内容写入 normal 0 0 0 0 0 表示默认普通字体

继续敲命令

1
2
3
4
5
6
7
8
9
shapeclustering -F font_properties -U unicharset mjorcen.normal.exp0.tr
 
 
 
mftraining -F font_properties -U unicharset -O unicharset mjorcen.normal.exp0.tr
 
 
 
cntraining mjorcen.normal.exp0.tr

最后会生成五个文件,把目录下的unicharset、inttemp、pffmtable、shapetable、normproto这五个文件前面都加上normal.

如图:

命令行输入,合并五个文件:

1
combine_tessdata normal.

得到训练好的字库。

四、测试

1、把 normal.traineddata 复制到Tesseract-OCR 安装目录下的tessdata文件夹中

2、识别命令:

1
tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 -l normal

3、效果

对比:

 总结:

jTessBoxEditor 是正常可用的,在校正训练的时候,文本框的位置、大小和识别的文字,都可以通过 jTessBoxEditor 来校正。

不能对位置进行改变。这样对于训练来说很难得到比较好的分割文字,会产生不好的影响。

参考:http://www.cnblogs.com/wzben/p/5930538.html

http://www.cnblogs.com/jianqingwang/p/6978724.html

https://blog.csdn.net/xiaochunyong/article/details/7193744

https://www.cnblogs.com/zhongtang/p/5555950.html  也不错

Win10 环境安装tesseract-ocr 4.00并配置环境变量的更多相关文章

  1. Windows环境安装tesseract-ocr 4.00并配置环境变量

    最近要做文字识别,不让直接用别人的接口,所以只能尝试去用开源的类库.tesseract-ocr是惠普公司开源的一个文字识别项目,通过它可以快速搭建图文识别系统,帮助我们开发出能识别图片的ocr系统.因 ...

  2. win7 64位 安装java jdk1.8 ,修改配置环境变量

    下载jdk1.8,下载地址:http://www.wmzhe.com/soft-30118.html 安装时有两个程序,都安装在同一个目录下. win7 64位 安装java jdk1.8 ,修改配置 ...

  3. Windows安装Tesseract-OCR 4.00并配置环境变量

    一.前言 Tesseract-OCR 是一款由HP实验室开发由Google维护的开源OCR(Optical Character Recognition , 光学字符识别)引擎.与Microsoft O ...

  4. LAMP坏境和LNMP环境安装Nagios4.1.1和基本配置

    ----------------------------------------以下内容为笔者生产环境的监控,安装都是经过一步步测试的-------------------------------- ...

  5. Fedora 20下安装官方JDK替换OpenJDK并配置环境变量

    Fedora 20自带OpenJDK,所以如果安装官方的JDK的话要先删除OpenJDK,步骤如下: 1:rpm -qa|grep jdk 查看当前的jdk情况. 2:yum -y remove ja ...

  6. 基于python的机器学习开发环境安装(最简单的初步开发环境)

    一.安装Python 1.下载安装python3.6 https://www.python.org/getit/ 2.配置环境变量(2个) 略...... 二.安装Python算法库 安装顺序:Num ...

  7. oracleLinux7上安装oracle11g r2(脚本简单配置环境)

    一 环境脚本简单配置 #!/bin/bashmv /etc/yum.repos.d/* /tmpmv iso.repo /etc/yum.repos.d/tar zxvf a.tar.gzmv 7Se ...

  8. 【Oracle】在win10上安装Oracle客户端报错:[INS-13001]环境不满足最低要求

    环境:win10 64bit 客户端工具: 安装的时候报错: 解决方案: 在\client\stage\cvu目录下找到如下两个文件: 编辑这两个文件,在文件中分别添加如下内容 <OPERATI ...

  9. win10 下安装 tesseract + tesserocr

    首先参考博文一贴:https://blog.csdn.net/u014179267/article/details/80908790 1.那么安装这两个模块是为了爬虫的时候识别验证码用的,但是安装的过 ...

随机推荐

  1. 创建Windows窗体 : WinMain() 与 WndProc()

    #include <windows.h> #include <mmsystem.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, ...

  2. HelloWorld 和相关设置

    写这篇文章的初衷很简单,就是想再一次证明 IntelliJ IDEA 对于 Java 开发人员来说,确实比 eclipse 要好用得多,鉴于目前市面上关于 IntelliJ IDEA 的教程比较少,叙 ...

  3. 介绍:一款Mathematica的替代开源软件Mathetics

    Mathetics软件 1 以Python语言实现该系统 2 软件使用的语法与Mathematica同样 3 下载:http://www.mathics.org/ 4 手冊:http://www.ma ...

  4. tomcat JVM内存 配置

    原文:http://elf8848.iteye.com/blog/467460 常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java ...

  5. 设计原则:小议 SPI 和 API

    背景 第一次听说 SPI 是阅读<软件框架设计的艺术>,以后陆续在 Log4Net 和 Quartz.Net中发现了以这种形式组织代码的方式,本位给出为什么要区分 SPI 和 API 的一 ...

  6. (转)SqlServer里DateTime转字符串

    原文:http://www.cnblogs.com/kimbosung/p/4515670.html ), )::: ), ): :::953PM ), ): ), ): ), ): ), ): :: ...

  7. Linux命令大全----系统管理相关命令

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka       摘要:本文主要讲了Linux命令大全----系统管理相关命令,并附有实例 一.安装 ...

  8. python的with和__enter__ 、 __exit__

    __enter__(): 在使用with语句时调用,会话管理器在代码块开始前调用,返回值与as后的参数绑定 __exit__():   会话管理器在代码块执行完成好后调用,在with语句完成时,对象销 ...

  9. React同构直出优化总结

    收录待用,修改转载已取得腾讯云授权 作者:郭林烁 joeyguo 原文地址 React 的实践从去年在 PC QQ家校群开始,由于 PC 上的网络及环境都相当好,所以在使用时可谓一帆风顺,偶尔遇到点小 ...

  10. jquery ajax方式直接提交整个表单

    $.ajax({ type: "POST", url: url, data: $('#form1').serialize(), success: function(msg){ al ...