• 火车票
  • 汽车票
  • 买机票
  • 订酒店
  • 查公交
  • 国内机票
当前位置: 火车网 >12306 >12306常见问题 > 12306验证码技术识别

12306验证码技术识别

来源: 火车网 时间:2013-07-16 20:40:19 火车票预订

   12306验证码技术识别

  中国春运——相当于一个欧洲国家的人口在一个月内在不同城市之间的流动。今年铁道部火车票实行实名制,并开通网上和电话购票。1月9日,12306.cn点击量就超过了14亿次,相当于所有中国人当天都点击了一次。由于访问量太大,网站无法顺畅登录。近日,网友大呼做12306网站验证码的程序员弱爆了!!!

  

 

  这几天,网上都在热议12306网站的架构问题,仁者见仁,智者见智。12306现在已经这个样子了,如何在目前的状况帮助过年回家的人买到票呢?于是有了很多帮助购票的自动登录插件,但这些自动登录插件能成功要归功于12306的登录程序在登录失败(提示用户过多,稍后再试)时没有刷新验证码,所以这些插件让用户输入用户名、密码,验证码后,就可以通过js脚本的方式一直登录,直到成功,如果12306“不放水”,验证码每次登录失败都变一次,这些插件就嗝屁着凉了,那有没有办法识别出图像中的验证码呢?

  Angel Eyes是专门做CV的,Angel Eyes里面也有人要回家,看到铁道部的12306网上售票系统的验证码比较少变化,就着手试了试,下面是效果和算法要点,屡试不爽,与大家分享。

  

 

  效果图说明:

  一、在处理图像噪声方面,这些验证码只被加入了轻微的噪声,用一个二值化就干净的解决了;

  二、在文字重叠上,采用从左到右逐个剔除(当然,笔画完全重叠的部分不剔除),每匹配上一个字符后,下一个字符的搜索起始位置是上一个字符的匹配位置加上字符宽度的一半,这样重叠得很厉害也不怕;

  三、在处理字体变形方面,根本就没有任何变形,仅仅是用了两套字体,我就干体力活逐个截取了这两套字体,如果字体有拉伸和缩放,我现在这个算法就不行了,至少会慢若干倍,因为搜索空间增加了若干倍;

  四、在整体结果上,对已匹配字符全部剔除后看残余笔画数量,如果太多则认为不理想,进行回溯,目前最多回溯到第二候选字就够100%的准确率了。

  五、准确率和速度方面:如果不采用回溯,可以40ms处理一幅,准确率只有90%,如果要100准确率,速度有点慢,300多毫秒才识别一个。

  六、在单个字符匹配上,原来用归一化互相关,后来考虑到图像点阵非常小,并且是在二值化的基础上处理,用FFT算互相关的加速作用也就不会明显,并且不方便我做空域的其它处理,直接用窗口滑动模板处理了,

上一篇 12306登陆

免责声明:火车网文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。

热门推荐