• 大小: 1.57M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2020-12-26
  • 语言: C#
  • 标签: 验证码  OCR  Tesseract  

资源简介

具体实现思路:以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.framework.Common.dll

     文件     452096  2011-11-21 14:38  GetCode\GetCode\bin\Debug\DotNet.framework.Common.pdb

     文件      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个文件信息

评论

共有 条评论