您的位置:首页 > 其它

简易验证码识别

2015-12-29 12:03 381 查看
首先让我们看看程序的识别率,拿一种很普通的验证码来看看



大概能在60%左右。

接下来了解一下具体实现:
应用的是图像识别类库tessnet
下载dll和语言包:
点击下载:http://pan.baidu.com/s/1eRznRv8
密码:l5km

代码不多,简单暴力

try
{
string url = "http://tyt.gzsports.gov.cn/sport/image.jsp?key=0.9328223555348814";
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream st = response.GetResponseStream();

pic_CheckCode.Image = Image.FromStream(st);
Bitmap bitmap = new Bitmap(pic_CheckCode.Image);
UnCodebase ud = new UnCodebase(bitmap);
ud.GrayByPixels();
ud.ClearNoise(128, 2);

tessnet2.Tesseract ocr = new tessnet2.Tesseract();//声明一个OCR类
ocr.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
ocr.Init(@"E:\语言包路径", "eng", false);
List<tessnet2.Word> result = ocr.DoOCR(bitmap, Rectangle.Empty);//执行识别操作
string code = result[0].Text;
txt_Result.Text = code;
}
catch (Exception ex)
{
}


完。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: