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

  • 相关阅读:
    解决ecshop进入后台服务器出现500的问题
    Java8新特性(拉姆达表达式lambda)
    使用Optional优雅处理null
    Arrays.asList 存在的坑
    Java提供的几种线程池
    冒泡排序及优化详解
    如何让MySQL语句执行加速?
    关于https的五大误区
    127.0.0.1和0.0.0.0地址的区别
    宽带网络技术-大题重点
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234336.html
Copyright © 2011-2022 走看看