zoukankan      html  css  js  c++  java
  • 利用tessnet2_32.dll实现OCR验证码识别

    using System;
    using System.Collections.Generic;
    using System.Web;
    //add
    using System.Net;
    using System.IO;
    using tessnet2; //引用tessnet2_32.dll
    using System.Drawing;
    using GetCodes;
    using System.Text;
    
    public partial class OCR : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            WebRequest request = WebRequest.Create("http://sz.2zf.cn/js/code2.asp");
            WebResponse response = request.GetResponse();
            Stream st = response.GetResponseStream();
            Bitmap bitmap = (Bitmap)Bitmap.FromStream(st);
            UnCodebase ud = new UnCodebase(bitmap);
            bitmap = ud.GrayByPixels();
            ud.ClearNoise(128, 2);
    
            //保存显示
            string savepath = "~/photos/orc.gif";
    
            bitmap.Save(Server.MapPath(savepath), System.Drawing.Imaging.ImageFormat.Gif);
            Image1.ImageUrl = savepath;
    
            tessnet2.Tesseract ocr = new tessnet2.Tesseract();//声明一个OCR类 
            ocr.SetVariable("tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); //设置识别变量 
            //ocr.Init(null, "eng", false);
            ocr.Init(Server.MapPath("~/Language"), "eng", true); //应用当前语言包。注,Tessnet2是支持多国语的。语言包下载链接:http://code.google.com/p/tesseract-ocr/downloads/list 
            List<tessnet2.Word> result = ocr.DoOCR(bitmap, Rectangle.Empty);//执行识别操作 
            string code = result[0].Text;
            Label1.Text = code;
        }
    }

  • 相关阅读:
    zoj 2972
    图像切割之(五)活动轮廓模型之Snake模型简单介绍
    使用和制作patch文件
    一步一步写算法(之洗牌算法)
    第3讲 数码管显示
    Oracle 11g client的安装和配置。
    StringTokenizer类的使用
    BDB (Berkeley DB)数据库简单介绍(转载)
    关于MSHTML
    C语言sizeofkeyword
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234336.html
Copyright © 2011-2022 走看看