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

转载于:https://www.cnblogs.com/smartsmile/archive/2013/01/05/6234336.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值