当前位置:首页 >> 计算机软件及应用 >>

提高Tesseract-ocr识别精度


提高 Tesseract-OCR 识别精度的方法 1.0 Tesseract-OCR 简介 OCR(Optical Character Recognition 光学字符识别)技术,是指电子设备(例 如扫描仪或数码相机) 检查纸上打印的字符, 通过检测暗、 亮的模式确定其形状, 然后用字符识别方法将形状翻译成计算机文字的过程。 Tesseract 的 OCR 引擎最先由 HP 实验室于 1985 年开始研发, 至 1995 年时已 经成为 OCR 业内最准确的三款识别引擎之一。然而,HP 不久便决定放弃 OCR 业 务,Tesseract 也从此尘封。 数年以后, HP 意识到, 与其将 Tesseract 束之高阁, 不如贡献给开源软件业, 让其重焕新生--2005 年,Tesseract 由美国内华达州信息技术研究所获得,并 求诸于 Google 对 Tesseract 进行改进、消除 Bug、优化工作。 Tesseract 目前已作为开源项目发布在 Google Project, 其最新版本 3.0 已经支 持中文 OCR。 1.1 Tesseract-OCR 的安装及使用说明 1. Tesseract-OCR 的安装过程 下载 tesseract-ocr-setup-3.02.02.exe 进行安装 (1) click next

(2) 选中 I accept the terms of License Agreement,点击 next

(3) 点击 next (4) 修改路径 d:\Program Files\Tesseract-OCR,点击 next

(5) 点击 next (6)点击 Install (7)点击 next (8)点击 finish 2.Tesseract-OCR 使用 (1)为了进行中文 OCR, 将简体中文语言包(chi_sim.traineddata)复制到 【tessdata】 目录下

(2)在 DOS 下切换到 Tesseract 的命令行目录, 查看下 tesseract.exe 的命令格式

tesseract tesseract

imagename outputbase [-l lang] [-psm pagesegmode] [configfile...] 图片名 输出文件名 -l 字库文件 -psm pagesegmode 配置文件

1.2 提高 Tesseract-OCR 识别精度的方法 Tesseract-ocr 原先只是为英语文本而设计的, 后来经过努力可以实现其他 语言。但是在一些大语种语言中进展缓慢,如汉语。由之前的测试可知其对 中文的识别率不高。 在此我们利用 Tesserac-ocr 3.02 训练生成新的识别语言库, 我们找到两种 Tesseract-ocr 的训练方法:A.使用 jTessBoxEditor 工具 B.使用 CowBoxer 工具。为了能够修改中文我们选择 B. 具体过程如下: (1) 下载 cowboxer1.02.exe,notepad++ 直接就可使用 cowboxer1.02.exe 的使用方法,打开 cowboxer1.02.exe ,点击 Help-> About F1 。可以看到相关的使用方法。 (2) 获取样本图像,并生成 tif 图像 convert imagename [lang].[fontname].exp[num].tif lang 为语言名称,fontname 为字体名称,num 为序号,可以随便定义 (3) 生成 box 文件 tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] –l batch.nochop makebox 把 tif 文件和 box 文件放在同一目录下 (4)运行 cowboxer 打开 box 文件,对 box 文件进行校正 并利用 notepad++ 打开 box 文件修改错误字符 (5) 定义字体特征文件 创建一个名称为 font_properties 的字体特征文件, font_properties 不含 BOM 头, 文件内容格式如下: <fontname> <italic> <bold> <fixed> < serif> <fraktur> 其中 fontname 为字体名称, 必须与[lang].[fontname].exp[num].box 中的名称保持 一致, <italic> <bold> <fixed> < serif> <fraktur>的取值为 0 或 1, 表示字体是否具有 这些属性。 (粗体,斜体等等) 用记事本打开 font_properties 文件,输入 (6) 产生字符特征文件(*.tr) tesseract [lang].[fontname].exp[number].tif [lang].[fontname].exp[number] nobatch box.train 这一步会产生 lang.fontname.exp[number].txt; lang.fontname.exp[number].tr 为 特征文件 (7) 由*.box 文件计算字符集(unicharset) unicharset_extractor [ lang].[fontname].exp[number].box 这一步产生字符集文件 unicharset。 (8) 聚集字符特征(inttemp、pffmtable、normproto) shapeclustering -F font_properties -U unicharset [lang].[fontname].exp[number].tr mftraining -F font_properties -U unicharset -O [lang].unicharset [lang].[fontname].exp[number].tr 使用上一步产生的字符集文件 unicharset ,来生成当前新语言的字符集文件 [lang].unicharset。同时还会产生图形原型文件 inttemp 和每个字符所对应的字符

特征数文件 pffmtable,很可能也会产生另外一个 shapetabel 文件。 (9) cntraining [lang].[fontname].exp[number].tr 这一步产生字符形状正常化特征文件 normproto。 (10)把目录下的 inttemp,normproto,pffmtable,shapetable 文件前都加上前缀 rename normproto [lang].normproto rename inttemp [lang].inttemp rename pffmtable [lang].pffmtable rename shapetable [lang].shapetable (11)合并训练文件 combine_tessdata [lang]. 这是最后一步,产生训练结果文件[lang].traineddata 确认 Offset 1,3,4,5,13 这些项不是-1, 这样一个新的语言文件就生成了 (12)将生成的[lang].traineddata 移到 tesseract-ocr\tessdata 目录下 当然在生成最终的 traineddata 的过程中,我们可以先生成几个 box,并利用这几 个 box 先生成一个[lang].traineddata,再用此[lang].traineddata 生成其余的 box 文 件,中途生成的 traineddata 的目的只是为了提高文字识别的准确率,使后面生 成的 box 文件能少做修改 由于文件太多,我们可以建立批量处理文件(*.bat) 3.3 具体的实验步骤及实验结果 1.实验步骤 在生成中文训练库的试验中我们获取了 130 个图像,生成 130 个 box,先用前 60 个 box 生成一个 traineddata, 在利用此 traineddata 对之后的 70 个 box 进行修改, 并生成最终的 traineddata。 (1) 获取样本图像,建立批量处理文件 tif1.bat 生成前 60 个 tif 图像

(2) 建立批量处理文件 box1.bat,生成前 60 个 box

(3) 对 box 文件进行校正 生成的所有 tif 文件和 box 文件均放在同一目录下。 (4) 定义字体特征文件 font_properties (5) 用记事本打开 font_properties 文件,输入 font 0 0 0 0 0 (6) 建立批量处理文件 pp.bat 生成 chi.traineddata

Offset 1,3,4,5,13 这些项不是-1, 这样一个新的语言文件就生成了 (7) 把 chi.traineddata 放到 tessdata 目录下。 此为前 60 个 box 生成的,我们可用此对之后的 70 个 box 进行修改。 同样的方法先生成 tif 图像,在生成 box 文件,只是此时命令为: tesseract chi.font.exp61.tif chi.font.exp61 –l chi batch.nochop makebox …………………… tesseract chi.font.exp130.tif chi.font.exp130 –l chi batch.nochop makebox 之后在进行修改矫正,建立批量处理文件 pp.bat(须从 1 到 130) ,生成最终的 chi.traineddata。先把之前 tesseract-ocr\tessdata 目录下的 chi.traineddata 删除, 在把最终生成的 chi.traineddata 移动到 tesseract-ocr\tessdata 目录下。 2.实验 tesseract 3.jpg output –l chi


相关文章:
提高Tesseract-ocr识别精度.doc
提高Tesseract-OCR 识别精度的方法 1.0 Tesseract-OC
如何提高Tesseract-OCR的识别精度.doc
如何提高Tesseract-OCR的识别精度 - 本文介绍了提高Tesseract-OCR识别精度的步骤及注意事项。通过对Tesseract-OCR的训练能有效提高Tesseract-OCR的识...
Tesseract-OCR 介绍.doc
它是 1995 年 UNLV 精度测试中排名前 3 的引擎之一。1995 年至 2006 年间...提高Tesseract-ocr识别精... 5页 1下载券 Android的tesseract-ocr... 暂无...
ocr tesseract使用方法.txt
2)配置环境变量TESSDATA_PREFIX = “C:\Program Files\Tesseract-OCR\” 即tessdata的目录,在源码中会到这个路径下查找相应的字库文件用来识别。 3)将下载的VC...
VS2010调用tesseract-OCR API步骤.doc
VS2010调用tesseract-OCR API步骤_计算机软件及应用_IT/计算机_专业资料。在Visual Studio 2010中调用开源图像识别引擎tesseract-OCR API的方法 ...
tesseract ocr engine 中文文档.doc
(光学字符识别)引擎概述 一:TesseractOCR 简介 Tesseract 是惠普布里斯托实验室在 1985 到 1995 年间开发的一个开源的 OCR 引擎, 曾经在 1995 UNLV 精确度测试中...
Tesseract简介.doc
年间在惠普布里斯托实验室开发的一个 OCR 引擎, 曾 经在 1995 UNLV 精确度...Tesseract字库训练说明 3页 1下载券 提高Tesseract-ocr识别精... 5页 1下载...
光学字符识别OCR_图文.ppt
比传统模型更高的精度 比如在MNIST手写数字识别任务中,可以达到99%以上的精度,...Tesseract-OCR 识别:直观上,我们会有这样一个思路,就是这张待识别的图片,最像...
基于Tesseract-ocr的藏文脱机识别_论文.pdf
基于Tesseract-ocr的藏文脱机识别 - 科技创 业 基 于T esseractocr 的藏 文脱机识别 翟娟 秀I 普布旦增 1 ...
Android的tesseract-ocr训练实例.pdf
Android 的 tesseract-ocr 的训练实例我们可以根据自己的需求来训练一套自己的识别库的, 比方说我们要识别验证码, 识别身份 证号码等,我们就可以用下面的方法来...
VS2010调用tesseract-OCR API步骤.pdf
VS2010调用tesseract-OCR API步骤 - VS2010 调用 tesseract 步骤 先说明一下,我的 tesseract 安装路径为 D:\Tesseract-OCR,如果...
Java调用OCR进行图片识别.doc
Java调用OCR进行图片识别_计算机软件及应用_IT/计算机_专业资料。使用Java语言,通过Tesseract-OCR对图片进行识别。 Java调用OCR进行图片识别使用Java语言,通过Tesseract-...
车牌识别emgucv.doc
车牌识别emgucv_计算机软件及应用_IT/计算机_专业资料。c#下的emgucv 车牌识别...{ //create OCR _ocr = new Tesseract(); //You can download more ...
5个最好的免费OCR软件.pdf
SimpleOCR 我使用微软的工具进行手写体识别时遇到的...据我看来,微软的 工具从精确度上来说要好于 ...FreeOCR 这款免费的 OCR 软件使用 Tesseract OCR ...
windows环境下编译Tesseract-OCR.doc
windows环境下编译Tesseract-OCR - 本文着重介绍在windows环境下完整编译Tesseract-OCR 3.02源代码的过程,并给出了所需程序库的下载地址和编译命令。
使用tesseract-ocr破解验证码详解.doc
使用tesseract-ocr破解验证码详解 - 首先下载 tesseract-ocr 安装包, 下载完成后双击 tesseract-ocr-setup-3.01-1.exe 安装程序进行安...
识别训练.doc
识别训练 - 识别查看: 1.安装 Tesseract(已安装) 从 http://code.google.com/p/tesseract-ocr/downloads/list 下载 Tes...
使用jTessBoxEditorFX训练Tesseract-OCR教程.doc
使用jTessBoxEditorFX训练Tesseract-OCR教程 - 使用 jTessBoxEditorFX 训练 Tesseract-OCR 教程 步骤一:使用画图软件生成要训练的.ti...
Tesseract_3_语言数据的训练方法.doc
生成第一个 box 文件 演示中将 Tesseract 解压到了 E:\tesseract-ocr 目录。...中途生成 traineddata 的目的只是为了提高文字识别的准确 率,使后面生成的 box ...
一个基于Tesseract OCR Engine的Wrapper的设计与实现.doc
一个基于 Tesseract OCR Engine 的 Wrapper 的设计与实现 摘要 Tesseract OCR Engine 是现如今准确率最高的开源字符图像识别引 擎之一。本文侧重于利用 C++/CLI ...
更多相关标签: