人人站CMS

人人站cms专注于企业网站建设的开源建站系统,系统具有开源、免费、易用、安全等特性。提供海量企业网站模板和实用插件,助力您快速搭建企业网站。

导航

.NET 2.0 OCR文字识别技术(Tesseract 引擎)

前端时间在写一个小软件,作用是通过程序往指定站点提交数据,获取数据。主要作用还是来代替手工操作的麻烦。

实现无非是:

1.通过http 抓包工具抓取正常请求所(GET,POST)的数据

2.利用 .net 类库  httprequest 或 httpclient 做模拟提交操作。

注:一些  qq信息查看器,手机充值模拟提交软件,投票程序等,原理差不多。

具体实现不是本文重点要介绍的,下一次再写关于这个方面的吧。我们接下来还是主要来看OCR 。

 

一.OCR简介  参见http://baike.baidu.com/view/17761.htm?fr=ala0_1  大家参照,我第一次也是这么了解的,呵呵。高手见笑

   现在市面上好多OCR 引擎,不过大多是收费的,价格不菲呀。。不适合我们学习研究。

 而今天我们谈到的Tesseract 是开源的产品,比较适合大家的口味吧。并且Tesseract 也是目前识别率较高的OCR,并不比其他引擎

 差劲。网上介绍Tessnet2也是当时时间排名第三的识别引擎,只是后来慢慢不维护了,目前是Google在维护,大家都知道Google

   在搞电子图书馆,每天都有不同类目的书被扫描成电子版,而下一步工作是什么。。。大家可以联想。

 

 

Tessnet2 是用vc ++ 开发的,最中是生成Tessnet2.dll ,我们可以通过.net 来调用内部具体类库实现识别。

Tessnet2的使用:

1.将Tessnet2.dll 添加到vs bin目录,和添加.net程序集一样。https://files.cnblogs.com/zhuxiangyu/tessnet2_32.rar 点击链接下载Tessnet2.dll

2.用Tessnet2进行识别

 

Bitmap image = new Bitmap("eurotext.tif");//识别图像
tessnet2.
Tesseract ocr = new tessnet2.Tesseract();//声明一个OCR类
ocr.SetVariable(
"tessedit_char_whitelist", "0123456789"); //设置识别变量,当前只能识别数字。
ocr.Init(@"c:\temp", "fra",
false); //应用当前语言包。注,Tessnet2是支持多国语的。语言包下载链接:http://code.google.com/p/tesseract-ocr/downloads/list
List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty);//执行识别操作
foreach (tessnet2.Word word in result) //遍历识别结果。
 Console.WriteLine("{0} : {1}", word.Confidence, word.Text);

 看看 使用很简单吧。给大家个实例https://files.cnblogs.com/zhuxiangyu/Tessnet2example.rar用来测试。

 

我的使用总结:

  我前一阵没事在搞验证码识别,对于普通的网站验证码识别基本识别率能达到100%,但对于比较正规的网站例如 通讯,itput等等网站 识别率极低。

  大概也是我研究不够深入吧,呵呵。

     大家互相探讨学习,此文只是给大家一个参考。

      谢谢各位支持。

 

 

 

 

 

 

posted on 2010-04-22 14:57  人人站CMS  阅读(14963)  评论(14编辑  收藏  举报