zoukankan      html  css  js  c++  java
  • .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等等网站 识别率极低。

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

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

          谢谢各位支持。

     

  • 相关阅读:
    程序员那些事
    Android studio导入eclipse工程时出现中文全部乱码问题
    环境搭建贴
    Android涉及到的网址都记录在这把~~~~
    好书记录
    网络资源整理
    C# 资源
    samba 服务器
    我的虚拟机上网记录
    共享资源链接
  • 原文地址:https://www.cnblogs.com/zhuxiangyu/p/ocr_Tessnet2.html
Copyright © 2011-2022 走看看