jTessBoxEditor 训练

       在基于tesseract-ocr的图片文字识别中,可以通过jTessBoxEditor 进行训练,以提高图片文字的识别率。本文简单记录下训练的方法与步骤。

        从网站https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/下载jTessBoxEditor,解压到本地即可。运行jTessBoxEditor依赖java环境,因此需要安装配置jre。

一、基于jTessBoxEditor训练

1、生成tif和box文件       

执行jTessBoxEditor目录下的train.bat批处理文件打开jTessBoxEditor,选中“TIFF/Box Generator”,如下图:

在面板输入待训练的内容后,再执行以下动作:

1)、点击图中标注的1,设置文件生成后保存的目录;

2)、修改图中标注的2的内容为自定义训练标志(最终生成训练文件的前缀);

3)、修改图中标注3的文件名,生成的文件名由 2的内容 + 3的内容,如上图最终生成的tif文件和box文件名分别为hz.font.exp0.tif、hz.font.exp0.box

4)、点击图中标注4的按钮Generate,生成tif和box文件。

注:tif文件命名格式需规范,格式为“[lang].[fontname].exp[num].tif”,lang为语言名称,fontname为字体名称,num为序号。

5)、检查生成的字符配置文件hz.font_properties

字符配置文件内容为:font 0 0 0 0 0
内容语法说明:<fontname> <italic> <bold> <fixed> <serif> <fraktur> 

fontname为字体名称,italic为斜体,bold为黑体字,fixed为默认字体,serif为衬线字体,fraktur德文黑字体,1和0代表有和无,精细区分时可使用

2、字符矫正

打开“Box Editor”页面,如下图:

点击上图中的“Open”按钮,选择上一步生成的tif文件,检查字符是否正确,针对错误的修改Char列里面的内容,再点击“Save”保存修改。

3、开始训练

打开“trainer”页面,如下图:

点击图中标注的1,选择前面步骤生成的tif文件。修改图中标注2的语言与前面一致。图中标注3的地方选择“Train with Exsiting Box”,点击“run”按钮开始训练。训练成功后会在当前目录下生成tessdata目录,训练结果文件就在tessdata目录下hz.traineddata。就可以使用该训练文件去识别相关的图片。

二、通过写bat脚本训练

        从https://digi.bib.uni-mannheim.de/tesseract/下载tesseract版本完成安装。配置好环境变量,打开命令行窗口执行tesseract -v 看到相关版本信息,则表示安装配置成功。

1、生成tif和box文件

       可参照第一种方法生成。但这里介绍通过自定义图片使用jTessBoxEditor 合并tif,并用命令行生成box文件。

       手动增加几张样图文件(通过画图软件写入内容,保存为tif格式)作为训练数据,打开jTessBoxEditor,点击tools菜单选择Merge Tiff,在弹出框选择训练图片(如下图的01-04,数据越多训练效果越好),点击“打开”按钮,弹出保存多张tif文件的名称输入框(如下图标注的3),按上面提到的tif文件命名格式填入文件名,如下图:

点击上图中的保存按钮,则将多张tif文件合并为一个tif文件num.font.exp0.tif。

2、生成box文件

打开命令行执行命令tesseract num.font.exp0.tif num.font.exp0 batch.nochop makebox生成box文件,执行命令后输出如下:

D:\wspace\tess4j-demo2\test-data\num>tesseract num.font.exp0.tif num.font.exp0 batch.nochop makebox
Tesseract Open Source OCR Engine v4.0.0.20181030 with Leptonica
Page 1
Page 2
Page 3
Page 4

3、字符配置文件font_properties

新建文件名为font_properties,内容填入font 0 0 0 0 0。

4、字符矫正

参照第一种方法“基于jTessBoxEditor训练”里面内容操作即可。

5、执行bat脚本生成训练数据

新建.bat文件,内容如下:

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 -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. 

echo. & pause

双击bat文件,执行后会生成很多文件,找到num.traineddata文件即是训练结果。拷贝到tessdata目录,即可使用该训练结果识别图片文字。

 

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: jtessboxeditor是一种用于OCR(光学字符识别)领域的迭代模型。OCR是将图像中的文本转换为计算机可识别的文本的过程。该模型基于迭代算法,通过不断优化和改进字符识别的准确性和性能。 在jtessboxeditor迭代模型中,首先,我们需要提供一组已经标记的训练图像,这些训练图像包含我们想要识别的字符和相应的标签。然后,我们使用jtessboxeditor来创建字框框架,即将字符标记为与输入图像的特定区域相对应的边界框。 在这之后,我们执行第一次迭代,以利用初始字框框架对字符进行识别。然后,通过比较识别结果和标签,我们可以计算字符识别的准确性,并对识别错误的字符进行纠正。通过纠正识别错误,可以提高模型的准确性。 接下来,我们执行第二次迭代,并根据上一次迭代中对字符进行修正。此迭代过程将不断循环重复,直到达到最佳的字符识别准确性为止。 而jtessboxeditor迭代模型的优势在于,它允许用户参与模型的改进过程。用户可以通过手动调整字框框架和纠正识别错误,来完善模型的准确性。这种参与性可以提高OCR系统的性能,使其更符合用户的需求和要求。 综上所述,jtessboxeditor迭代模型是一种通过迭代算法不断优化OCR系统的字符识别准确性和性能的模型。它的使用可以通过用户参与提高系统的准确性,从而更好地满足用户的需求。 ### 回答2: JTessBoxEditor是一个用于创建和编辑Tesseract OCR训练数据的开发工具。它使用迭代模型来提高OCR的精确度和性能。 迭代模型是一个循序渐进的过程,通过多次迭代来不断改进和优化OCR的结果。JTessBoxEditor的迭代模型可以分为以下几个步骤: 1. 数据收集:首先,我们需要收集大量的训练数据。这些数据应该包含各种不同的字体、大小、样式和布局。JTessBoxEditor提供了一个界面,可以用于创建和管理训练数据集。 2. 初始训练:在收集到足够的训练数据后,可以使用JTessBoxEditor进行初始训练。它将使用收集到的数据对OCR引擎进行初始训练,以便进行初步的字符识别。 3. 数据标注和编辑:JTessBoxEditor允许用户标注和编辑OCR的训练数据。用户可以检查和修正OCR可能出现的错误,同时还可以添加和删除字符。 4. 训练结果评估:在经过一系列的数据标注和编辑后,需要评估训练结果的质量和性能。JTessBoxEditor提供了一些评估工具,可以帮助用户分析和评估训练结果的准确性和鲁棒性。 5. 迭代训练:基于评估结果,如果发现OCR的准确性还不够高,可以继续迭代训练。重复进行数据标注、编辑和训练的过程,直到达到预期的OCR准确度。 通过这个迭代模型,JTessBoxEditor帮助用户不断改善OCR的性能和精确度。用户可以根据具体需求,持续优化训练数据集,并通过多次训练和评估来提高OCR的识别准确性。 ### 回答3: jtessboxeditor是一个用于训练Tesseract OCR(光学字符识别)引擎的开源工具。它使用了迭代模型进行训练。 迭代模型成为实现OCR引擎训练的常用方法,因为OCR系统需要不断优化和改进以提高其识别能力。这个模型允许反复迭代训练,直到达到满意的性能水平。 迭代模型的基本原理是,在初始训练集上训练OCR引擎,并将其用于识别一部分新的测试集。然后,通过手动标记测试集中识别错误的部分,并将其添加到训练集中用于下一次训练。这个过程不断循环,直到识别精度达到预期。 在jtessboxeditor中,迭代模型的实现如下:首先,我们首先选择一个适当的训练样本集,该样本集包含正确标记的字符图像。然后,我们将这些图像导入jtessboxeditor中进行训练。 在训练过程中,jtessboxeditor会使用Tesseract引擎对训练样本进行识别。接下来,我们需要手动检查识别结果,并标记那些由于识别错误而被Tesseract引擎错误识别的字符。 标记完错误的字符后,我们将其添加回训练集中,并使用jtessboxeditor再次进行训练。这一迭代过程可以多次重复,直到达到我们期望的识别精度。 迭代模型的优点是,可以不断反复训练并纠正错误,不断提高OCR引擎的性能。然而,这个过程需要耗费大量的时间和人力资源,因为需要手动标记错误字符并对训练集进行更新。 总而言之,jtessboxeditor使用了迭代模型来训练Tesseract OCR引擎,允许用户通过不断迭代优化和改进来提高OCR识别的准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值