论文部分内容阅读
随着互联网应用的高速发展,网络安全受到越来越多的重视。国内大部分网上银行系统都采用验证码作为保障网络安全的一种手段。验证码是一种人机区分技术,其本质是创建一个用户容易通过而计算机却通不过的测试。采用验证码能够极大地确保请求来自一个人而不是一个自动化的程序。 本课题以当前国内网上银行正在使用的字符图像验证码为研究对象,利用图像处理和机器学习的相关原理和方法对其进行识别,在识别的基础上对验证码的改进和生成提出建议。 本文针对不同类型的验证码选取了不同的图像预处理算法和机器学习识别算法,通过验证码图像获取,灰度化,二值化,去离散噪声,字符分割,归一化,特征提取,训练和字符识别等过程实现了验证码识别,重点研究了字符图像验证码的二值化、字符分割和字符识别。首先获取网上银行验证码,使用灰度化方法将彩色验证码转换为灰度图像,其次将灰度图转化为二值图像,针对验证码的特点提出了适合于验证码二值化的方法,然后使用连通域判别的方法将图像的离散噪声去除。验证码字符分割阶段,在投影分割算法和基于连通域的分割算法的基础上针对验证码字符特点提出了改进算法,取得了良好的实际应用效果。之后对分割出的字符进行大小归一化,提取特征向量,使用基于实例学习,支持向量机和朴素贝叶斯的三种机器学习方法对提取出的字符特征进行训练和识别,对比分类识别效果,发现网上银行的验证码识别率过高,易于破解。最后总结网上银行验证码存在的缺陷,从验证码识别的角度提出生成更加安全验证码的一些建议,同时设计了一种新的字符图像验证码。