一个基于TesseractOCREngine的Wrapper的设计与实现_第1页
一个基于TesseractOCREngine的Wrapper的设计与实现_第2页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、论文发表专家一l一个基于Tesseract OCR Engine的Wrapper的设计与实现 摘 要tesseract ocr en gi ne是现如今准确率最高的开源字符图像识别引擎之一。本文侧重于利用 c+/cli 的语言特性,设计并 实现一个可供.net 平台应用程序使用的 tesseract wrapper 。关键词 tesseract ocr engine ; wrapper; 设计与实现中图分类号文献标识码 a文章编号 1674-6708( 2011)56-0199-011 背景tesseract 是惠普公司于 1984 至 1994 十年间主持开发的字符图 像识别引擎,并在 19

2、95 年的 unlv 字符图像识别准确性年度测试中 取得前三名的佳绩。 但是在随后的十年里, tesseract 没有得到进 一步实质的发展,终于在 2005 年惠普公司决定将 tesseract 开源。 现在,其源代码可以在http:/code.google.cOm/p/tesseract-ocr/得至 最新版本为tesseract 3.0。tesseract 起初是 ray smith 在英国布里斯托尔大学惠普实验室 从事的博士论文课题。当时,市面上没有成熟的字符图像识别引擎, 只能处理高质量的扫描图像。惠普公司将美国科罗拉多州扫描仪部 门的相关项目合并到布里斯托尔实验室后,tessera

3、ct 在准确性上 已经明显领先商业引擎;之后,tesseract 的工作重心集中在效率 优化方面。整个项目在 1994年底结束,次年参加了 unlv 字符图像论文发表专家一l识别准确性年度测试。开源后,出现多种语言的wrapper 利用tesseract 字符图像识别引擎,包括 python、java、ruby 和 c 等。针对.net 平台,tessnet2 使用 c+/cli 对 tesseract 2.0 进行了 包装,而tessactdot net 使用 man aged C+对 tesseract 3.0 进行 了包装。2 结构man aged c+是微软公司为将传统 C+语言引入.

4、net 平台而对传 统c+所作的一种扩展,同时又保持了对 iso c+的高度兼容。这 两方面的顾虑使 managed C+的语言设计者畏首畏尾,引用 stan lippman 的话,“他们对于 bjarne stroustrup 或者说 iso c+ 的虔 诚在无意中伤害了很多人。” c+/cli 简化了 man aged c+复杂的语 法和语义,大大提高了 c+程序员的开发体验,这就为由传统 c+ 开发的 tesseract 架起了一座通往.net 平台的桥梁。图 1 总体结构tesseract 由 2.0 提高到 3.0 后,api 变化较大;因此,无法将 tessnet2的字符图像识别引

5、擎简单升级至 tesseract 3.0 版本。 为 了利用 tesseract最新的特性且便于开发和维护,使用c+/cli 设计并实现一个基于 tesseract 3.0 的 wrapper 成为一种很好的组合 方式。3 设计“针对接口编程,而不是针对实现编程”与“优先使用对象组合, 而不是类继承”是面向对象设计的两大基本原则。委托是一种组合 方式,它使组合具有与继承同样的复用能力。论文发表专家一lwrapper 针对 tesseract 3.0 提供的 api 编程,将外部的 ocr 请 求委托给内部的 tesseract ocr engine对象处理,并把处理结果转化成请求者要求的格式。

6、4 实现首先,声明一个托管 C+类 wrapper。除了构造函数和析构函数 外,提供 3 个公有方法:init() ,doocr() ,end()和一个私有成员: 指向 api类的指针。不是声明对象而是声明对象指针,是因为托管 c+只能通过指针引用非托管 c+的对象。因此,wrapper 的构造函 数和析构函数分别提供将 api 指针指向对象和销毁 api 指针指向的 对象的操作。其次, 在 init()方法中调用 api 类提供的 init()方法, 初始化 tesseract ocrengine 的 tessdata 禾口 Ianguage。在 end()方法中 调用 api 类提供的end()方法,释放 tesseract ocr engine 在字符 图像识别过程中占用的所有资源。最后,在 doocr()方法中先后依次调用 api 类提供的 setimage()、setrec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论