博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

NET 2.0 OCR文字识别技术(Tesseract 引擎)[转]

Posted on 2015-03-27 16:22  sunjie  阅读(6503)  评论(0编辑  收藏  举报

一.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 = newBitmap("eurotext.tif");//识别图像
tessnet2.Tesseractocr = 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用来测试。