tesseract系列(3) -- tesseract训练

tessract的训练有个工具叫 jTessBoxEditor

1、jTessBoxEditor是用java写的,首先要装java的环境

jdk-8u191-windows-x64.exe 这个我想从官网下载来的,但是一直失败,直接从搞java的同事那里要来的。

装完以后要配置一些环境变量:

系统环境变量  --》 path ---》新建

然后重启电脑。。。

2、安装jTessBoxEditor:

下载地址:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/

3、启动jTessBoxEditor:

双击显示:

然后进入tools 点击merge tif

如果你加入的模型是tif的格式,直接找到那个tif即可。

如果你加入的图片格式是png的,

修改加入的文件格式,点击打开会显示保存的界面,将文件保存为:num.font.exp0.tif 其中,num是你自己定义的,图片要保存到tesseract的目录下。

cmd进入tesseract目录,执行命令  tesseract.exe num.font.exp0.tif num.font.exp0 batch.nochop makebox

命令解析,

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox

其中lang为语言名称,fontname为字体名称,num为序号,可以随便定义。

然后:

点击open打开上面保存的num.font.exp0.tif文件

这我的demo的一张图。

每一个char都要和左边的图相对应。如果不对应就一一修改,建议大家把这上面的所有的操作按钮都熟悉下再使用,其实很简单。

修改完以后点击save保存。

定义字体特征文件。创建一个名称为font_properties的字体特征文件。font_properties不含有BOM头,文件内容格式如下:

<fontname> <italic> <bold> <fixed> <serif> <fraktur>

其中fontname为字体名称,必须与[lang].[fontname].exp[num].box中的名称保持一致。<italic> 、<bold> 、<fixed> 、<serif>、 <fraktur>的取值为1或0,表示字体是否具有这些属性。

这里在样本图片所在目录下创建一个名称为font_properties的文件,用记事本打开,输入以下下内容:

font 0 0 0 0 0

这里全取值为0,表示字体不是粗体、斜体等等。

简单的说就是在tesseract的目录下新建一个font_properties,txt,然后写内容:   font 0 0 0 0 0

将下面命令保存成一个批处理的bat文件,放在tesseract的目录下,双击执行。

echo Run Tesseract for Training..

tesseract.exe num.font.exp0.tif num.font.exp0 nobatch box.train

echo Compute the Character Set..

unicharset_extractor.exe num.font.exp0.box

mftraining -F font_properties.txt -U unicharset -O num.unicharset num.font.exp0.tr

echo Clustering..

cntraining.exe num.font.exp0.tr

echo Rename Files..

rename normproto num.normproto

rename inttemp num.inttemp

rename pffmtable num.pffmtable

rename shapetable num.shapetable

echo Create Tessdata..

combine_tessdata.exe num.

pause

命令窗口会有一些错误,请看错误的解决办法:

传送门:https://www.cnblogs.com/132818Creator/p/11811841.html

something from:https://blog.csdn.net/sylsjane/article/details/83751297

原文地址:https://www.cnblogs.com/132818Creator/p/11819174.html

时间: 2024-11-05 20:31:07

tesseract系列(3) -- tesseract训练的相关文章

学习CNN系列二:训练过程

卷积神经网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间精确的数学表达式,只要用已知的模式对卷积神经网络加以训练,网络就具有输入.输出之间映射的能力. 其训练算法与传统的BP算法类似,主要分4步,可分为2个阶段: 第一阶段,前向传播阶段: (1)从样本集中取一个样本,将样本输入网络: (2)计算相应的实际输出. 在此阶段,信息从输入层经过逐级的变换,传送到输出层.这个过程也是网络在完成训练后正常运行时执行的过程. 第二阶段,后向传播阶段:

C#识别验证码技术-Tesseract

相信大家在开发一些程序会有识别图片上文字(即所谓的OCR)的需求,比如识别车牌.识别图片格式的商品价格.识别图片格式的邮箱地址等等,当然需求最多的还是识别验证码.如果要完成这些OCR的工作,需要你掌握图像处理.图像识别的知识,需要用到图形形态学.傅里叶变换.矩阵变换.贝叶斯决策等很多复杂的理论,这让绝大部分人都会望而却步. Tesseract这个开源项目的出现让我们普通人也可以涉足OCR的开发.Tesseract可以从图片中识别出文字内容,但不要以为Tesseract可以智能的识别出各种奇形怪状

Tesseract安装

[1]直接安装1)Ubuntu 14.04下,可以直接安装发行包tesseract-ocrsudo apt-get install tesseract-ocr这样安装的系统在/usr/bin下,数据文件在/usr/share/tesseract-ocr/tessdata下(已经安装了eng包)在/usr/local/lib/python*.*/dist-package下有一个文件夹pytesseract(也许是我不小心装上去的,GitHub[https://github.com/madmaze/

验证码识别 Tesseract的简单使用和总结

Tesseract是什么 OCR即光学字符识别,是指通过电子设备扫描纸上的打印的字符,然后翻译成计算机文字的过程.也就是说通过输入图片,经过识别引擎,去识别图片上的文字.Tesseract是一种适用于各种操作系统的光学字符识别引擎,最早是hp公司的软件,2005年开源,2006年后由google一直赞助Tesseract开发和维护.2006年,Tesseract被认为是当时最准确的开源OCR引擎之一 . 验证码识别类型 这里讨论一般的验证码识别,即英文.数字.或者英文和数字的混合的验证码,不包括

Tesseract:简单的Java光学字符识别

1.1 介绍 开发具有一定价值的符号是人类特有的特征.对于人们来说识别这些符号和理解图片上的文字是非常正常的事情.与计算机那样去抓取文字不同,我们完全是基于视觉的本能去阅读它们. 另一方面,计算机的工作需要具体的和有组织的内容.它们需要数字化的表示,而不是图形化的. 有时候,这是不可能的.有时,我们希望自动化的完成用双手从图像重写文本的任务. 针对这些任务,光学字符识别(OCR)被设计成一种允许计算机以文本形式"阅读"图形化内容的方法,和人类工作的方式相似.虽然这些系统相对准确,但仍然

【Tesseract】Tesseract API在VS 2013中的配置以及调用

想要在VS中使用Tesseract库,必须使用经过相对应的VS版本编译过的dll以及lib.比如在VS 2013中,就必须使用在VS 2013中编译过的Tesseract库. 这里我给出经过VS 2013编译的Tesseract库, 下载地址: http://pan.baidu.com/s/1o7JqXmU 解压后内容如下图, 有了Tesseract库之后,我们便在VS 2013中配置环境以及包含库了. 引入头文件 在“解决方案管理器”窗口–>右键“photo”工程–>“属性(R)”–>

Python下Tesseract Ocr引擎及安装介绍

1.Tesseract介绍 tesseract 是一个google支持的开源ocr项目,其项目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源码可以在这里下载. 实际使用tesseract ocr也有两种方式:1- 动态库方式 libtesseract  2  - 执行程序方式 tesseract.exe 由于本人也是python菜鸟一个,所以方式1暂时不会,只好采取方式2. 2.Tesseract安装包下载 Tesseract的relea

Tesseract API在VS 2013中的配置以及调用

[Tesseract]Tesseract API在VS 2013中的配置以及调用 时间:2016-05-31 20:35:19      阅读:127      评论:0      收藏:0      [点我收藏+] 想要在VS中使用Tesseract库,必须使用经过相对应的VS版本编译过的dll以及lib.比如在VS 2013中,就必须使用在VS 2013中编译过的Tesseract库. 这里我给出经过VS 2013编译的Tesseract库, 下载地址: http://pan.baidu.c

Tesseract识别指定字符范围的字符

可以通过配置Tesseract来使用Tesseract进行OCR,opencv和opencv的C#版本Emgu都集成了Tesseract这个工具. 但是在使用时经常会出现误判,比如把"s"识别成"5",把"1"识别成"l"或"i".可以设置相应的参数来识别指定范围的字符. 下面是Emgu中关于这个函数的API文档: Emgu.CV.OCR.Tesseract.Tesseract(string, string