基于正方系统的抢课软件教程系列一模拟登录3之验证码识别

在上一篇可以进入系统后,我们发现我们还要输入验证码这是多么让人可恶的一件事呀!有时我们选课时就是在登录的这个门口进不行,那从何说起去选课页面呀!因此我们迫切要一种方法直接通过我们的帐号密码就可以选课!又啰嗦了,主题吧!

  这里只是针对性的验证码识别,很难做到难免符合全部验证码!通过自己要处理的验证码的特征进行针对性的识别,不仅能提高程序运行的效率还能让开发都考虑的其他特征因素少很多。我通过保存了正方系统的纯数字验证码看下图吧!】可以直接用系统自带的看图工具打开再放大查看验证码的各个像素点!

我这里进行的步骤是:

1.进行二值化处理得到黑白两种颜色的图片

2.进行去澡处理,把数字外的澡点去掉

3.根据我原来预定的样本数据进行每一个像素点的匹配比较,找到与相似度最高的那高是我们识别的数字!

具体的每一步的实现我都在代码里讲的很详细!这里验证码识别相对来说是比较简单的,少了很多诸如变形,干扰线……一堆东西。

对于相对难点的推荐大家一个开源免费的C#字符识别类库Tesseract这和C++的opencv相对用起来比较简单,直接调用提供的API就可以识别,就是前期我们要进行知识库的制作麻烦点!在传智博客杨中科老师有视频可以下载学习!感兴趣的同学可以玩下!

这部分的软件我也上传到了谷歌开源,地址:https://code.google.com/p/public-zhengfang-takeclass/downloads/list

软件说明:

        1.这里的地址是可以直接在地址栏上可以获取可以获取图片的<LineBreak/>
                2.这里只是针对四个纯数字的验证码,如果是5个数字请相应在IdengifyCheckCode这个类里面更改<LineBreak/>
                3.验证码的制作有针对性,请根据自己的而要进行修改,给大家推荐个开源的tessnet这个东西。<LineBreak/>
                4.这里用华农的http://202.116.160.167/CheckCode.aspx

posted @ 2013-04-30 18:40  计算机男  阅读(2268)  评论(0编辑  收藏  举报