Tesseract3.02在VS2012中的使用方法

   Tesseract3.02是Google维护的一个OCR识别图片文字的开源项目。而A .Net wrapper for tesseract-ocr则是可供.Net平台应用程序使用Tesseract3.02的程序包,由Charles Weld在Github上创建的开源项目,下载量大且持续更新,至本文发布该项目最新更新日期为2015/7/25,值得程序员们信赖。本文和大家分享通过A .Net wrapper for tesseract-ocr在VS2012工程中使用Tesseract3.02的方法。

   在验证码识别之C#图像识别类库tessnet2一文中我通过tessnet2来使用Tesseract,但是tessnet2适用于.net framework 2.0(VS2008),我现在的VS环境已更新为VS2012,因此要想在VS2012中继续使用Tesseract,就必须另辟蹊径。

   1.Tesseract3.02示例项目界面

   这个界面仍以NyDus登录界面中的验证码为例,先用WebBrowser与mshtml获取动态验证码的方法获取验证码,然后用Tesseract3.02对该验证码进行识别。

Tesseract

 实现过程中有几个细节需要注意:

  1.1 通过WebBrowser获取的验证码图片的类型为Image,而Tesseract3.02要求输入的图片类型为BMP,我尝试将Image强制转换为BMP,但强制转换后的格式为Format32bppRgb,Tesseract3.02是不支持这个格式的,所以在程序中进行强制转换后又对图片进行了二值化处理。


  1.2 Tesseract3.02用到的tessdata必须与Tesseract的版本相符,且其路径必须以“\”或”/”结尾,否则会出错。

  1.3 Tesseract3.02的使用方法与Tessnet2不一样,网上找不到参考资料。我根据Tesseract3.02所包含的函数推测其用法应该如此,但是目前验证下来识别率不高,而且即便能识别的最后会多出一个字母”I’,不知是何缘由。

  那么怎样才可以将Tesseract3.02引入到我们的VS2012工程中呢?请看下一节。

   2. A .Net wrapper for tesseract-ocr

   在NuGet中搜索A .Net wrapper for tesseract-ocr,找到后即可轻松下载安装。VS2012中的NuGet需要自行安装,网上攻略比比皆是,大家自行下载安装即可。安装完成后,在VS2012工程中添加using Tesseract即可。

   安装后如果用着不爽,也可以通过NuGet–>已安装的包,通过相应程序包的“管理”按钮即可进行卸载。

Comments

  1. By aya

    回复

    • By livezingy

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Fork me on GitHub