利用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;  
    }  

 

转载自:http://blog.csdn.net/hutao1101175783/article/details/41977933

 

posted @ 2015-02-26 17:47  清幽紫竹  Views(1537)  Comments(0)    收藏  举报