• 验证码识别程序


    摘自:http://0527.yo2.cn/articles/identify.html

    最近手痒痒,装上了 .NET 就用VC2005+AutoHotKey 写了一个识别验证码的程序,序只以动网的验证码图片作为样本进行处理和识别,验证码样本如下,也就是说只能对这种类型的验证码进行识别。 打开下载页面

    这回把图像处理的算法部分用VC控制台实现,这样只用专注算法部分。而后续的界面和收尾工作则是由AHK完成。再也不用考虑恶心的MFC了。首先,由AHK打开图片,以参数的形式传递给VC编写的控制台程序。然后由控制台程序对验证码图片进行处理,得到验证码的特征值,直接输出到控制台窗口,最后由AHK对窗口里的文字进行捕捉,这样就得到了验证码的特征值,和样本数据特征进行比较,最终得到验证码。我觉得这种方式很有意思,把原来类和类之间的封装工作改为程序和程序之间的封装。

    验证码处理及识别的步骤:

    1. 对图片进行贴标签运算,以白色为背景色,得到包括干扰色块在内的目标数个。
    2. 去除标签面积小的目标物,这时剩下的是验证码和与验证码粘连在一起的干扰色块。
    3. 这时图片只剩下4个含有干扰色的验证码,由于验证码都为纯色,结合原始图片,保留每个目标中出现特定像素值次数最多的点,这时就只剩下干净的验证码了。
    4. 最后,对剩下的目标进行统计,分别统计每个目标的面积,顶点出现的次数等特征数据。
    5. 识别之前需要对每个有可能出现的字符进行特征的统计,学习过程是将统计出的特征值写入样本数据,识别过程为与样本数据进行比对。

         

    程序下载 identifycode.rar

  • 相关阅读:
    Bean生命周期
    Bean的作用域
    神经网络训练中,傻傻分不清Epoch、Batch Size和迭代
    jQuery中选择器有哪几种
    数据库的事务机制
    多线程面试题
    HTTP请求报文和HTTP响应报文
    linux tomcat单机部署多应用
    flexbox预习
    作业
  • 原文地址:https://www.cnblogs.com/phoenixzq/p/2245137.html
Copyright © 2020-2023  润新知