1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > “模式识别”技术识别12306验证码

“模式识别”技术识别12306验证码

时间:2023-09-24 04:51:26

相关推荐

“模式识别”技术识别12306验证码

中国春运——相当于一个欧洲国家的人口在一个月内在不同城市之间的流动。今年铁道部火车票实行实名制,并开通网上和电话购票。1月9日,点击量就超过了14亿次,相当于所有中国人当天都点击了一次。由于访问量太大,网站无法顺畅登录。就算到今天17日,登上12306仍然很慢,更不用说买到票。

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

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

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

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

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

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。