资源简介
具体实现思路:以4位数字的验证码为例
1、人工将验证码的4位数字每位对应的代码存入数据库中,每位存入0-9对应的代码,每个数可以多存这样可以提高识别率;
2、获取验证码以后,对其进行去背景、灰度处理、去噪点处理、分片处理以后生成每位数字对应的代码;
3、去背景色,这一步的目的是把验证码和背景颜色区别开来。
4、去噪声:这一步要取出图像上的孤立点。这些孤立点被认为是噪声。
孤立点的定义:某个点,周围没有与该点等值的点。
或者某个连接块,该连接块的元素的个数小于某个给定值K, 把元素个数很小的连接块也定义为孤立点,有助于去处噪声。
去噪声算法:参照去背景算法。
5、图像锐化:图像锐化的目的是增强边界。这一步是可选的。看验证码的情况,这一步可以跳过。
6、图片有效区域截取:这个操作是将图片除验证码字符以外的边框去掉,只留下验证码字符图片,这样保证分片的准确性。
7、图片分片处理,这个处理是将整个图片分割成单个字符图片。
8、拿分片图像生成的代码(eg:000111110011…..)与DB中已有代码相比较,取得相似度最高的即要验证码的字符;
注:如果DB的样本越多,识别的准确率也越高,但是速度会相应变慢
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace GetCodes
{
public partial class FrmMain : Form
{
public FrmMain()
{
InitializeComponent();
}
private void button1_Click(object sender EventArgs e)
{
new ImageOpt().Show();
}
private void button2_Click(object sender EventArgs e)
{
new GetCode().Show();
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1765376 2011-11-24 17:48 GetCode\GetCode\bin\Debug\code.mdb
文件 151552 2011-11-21 14:38 GetCode\GetCode\bin\Debug\DotNet.fr
文件 452096 2011-11-21 14:38 GetCode\GetCode\bin\Debug\DotNet.fr
文件 35328 2011-11-25 12:41 GetCode\GetCode\bin\Debug\GetCodes.exe
文件 71168 2011-11-25 12:41 GetCode\GetCode\bin\Debug\GetCodes.pdb
文件 11592 2011-11-25 12:41 GetCode\GetCode\bin\Debug\GetCodes.vshost.exe
文件 490 2007-07-21 02:33 GetCode\GetCode\bin\Debug\GetCodes.vshost.exe.manifest
文件 1455104 2009-09-02 09:54 GetCode\GetCode\bin\Debug\tessnet2_32.dll
文件 32 2010-09-07 11:26 GetCode\GetCode\bin\Debug\tessnet2_32.dll.refresh
文件 392 2007-06-01 00:15 GetCode\GetCode\bin\Debug\tmpe\eng.DangAmbigs
文件 672 2007-06-01 00:15 GetCode\GetCode\bin\Debug\tmpe\eng.freq-dawg
文件 862544 2007-06-09 07:33 GetCode\GetCode\bin\Debug\tmpe\eng.inttemp
文件 39862 2007-06-09 07:33 GetCode\GetCode\bin\Debug\tmpe\eng.normproto
文件 590 2007-06-09 07:33 GetCode\GetCode\bin\Debug\tmpe\eng.pffmtable
文件 480 2007-06-01 00:15 GetCode\GetCode\bin\Debug\tmpe\eng.unicharset
文件 7289 2007-05-11 02:17 GetCode\GetCode\bin\Debug\tmpe\eng.user-words
文件 809728 2007-06-01 00:15 GetCode\GetCode\bin\Debug\tmpe\eng.word-dawg
文件 609 2011-11-24 15:44 GetCode\GetCode\FrmMain.cs
文件 2676 2011-11-24 15:44 GetCode\GetCode\FrmMain.Designer.cs
文件 5814 2011-11-24 15:44 GetCode\GetCode\FrmMain.resx
文件 11868 2011-11-25 12:09 GetCode\GetCode\GetCode.cs
文件 4893 2011-11-24 16:23 GetCode\GetCode\GetCode.csproj
文件 168 2011-11-24 15:40 GetCode\GetCode\GetCode.csproj.user
文件 24911 2011-11-24 17:47 GetCode\GetCode\GetCode.Designer.cs
文件 5814 2011-11-24 17:47 GetCode\GetCode\GetCode.resx
文件 10616 2011-11-25 12:42 GetCode\GetCode\ImageOpt.cs
文件 3805 2011-11-24 15:42 GetCode\GetCode\ImageOpt.Designer.cs
文件 5814 2011-11-21 14:58 GetCode\GetCode\ImageOpt.resx
文件 1103 2011-11-25 12:41 GetCode\GetCode\obj\Debug\GetCode.csproj.FileListAbsolute.txt
文件 970 2011-11-25 12:34 GetCode\GetCode\obj\Debug\GetCode.csproj.GenerateResource.Cache
............此处省略28个文件信息
- 上一篇:C# 屏幕截图、抓图工具
- 下一篇:C# 绘制圆形、矩形、三角形
相关资源
- 利用uu云打码平台的lib实现的c#打码平
- 利用cookie可以在静态页判断验证码是
- 静态页判断验证码是否输入正确
- SimpleOCRCmd_Demo
- 星魂OCR识别
- 生成中文验证码
- CSharpOCR
- EyesDetection-using-emgu
- Emgu_CV_OCR Emgu是OpenCV的.net封装
- Csharpyanzhengma 用C#写的验证码识别源码
- C# 验证码识别,简单的数字识别源码
- asp.net模拟登录带验证码的网站
- 好看的验证码VS2010
- C# 如何自动生成验证码Web图形验证码
- C#截屏并进行OCR识别
- C#百度OCR demo
- C# 获取验证 验证码 区分大小写 字母
- 验证码识别+投票程序+自动换代理ip
- C#版 联众远程打码 很高的验证码识别
- C# 读取网页验证码并模拟提交表单 充
- C# 发送短信验证码(阿里云短信接口
- C#开发的OCR,用Tesseract实现
- OCR 实现 截图 并提取图片中的文字
- OneNote OCR 图片识别
- OCR 图片识别
- 图片识别控件 Asprise-OCR C# .net破解版
- 文字识别 (Asprise OCR)亲测可以
- C# 随机生成验证码
- EMGUCV OCR识别
- C# 实现验证码识别
评论
共有 条评论