摘要CAPTCHA (Completely Automated Public Turing test to Tell Computers and Humans Apart)是指全自动区分计算机和人类的图灵测试,用来区分对方到底是人还是计算机程序而设置的一种验证措施。本论文使用Visual C++编写了一个可以处理文字型验证码并且破解的程序。该程序针对工商银行、交通银行两类验证码进行了破解。论文针对工行验证码采用图像的二值化、基于连通区域标记的分割字符、图像旋转矫正及模板匹配进行了破解。针对交行验证码使用了一种基于K-means聚类的字符分割算法。论文在200幅交通银行验证码和50幅工商银行验证码的数据集上进行了实验,获得了一定的成功率。19018 毕业论文关键词 验证码破解 二值化 旋转矫正 模板匹配法 K-means颜色聚类
毕业设计说明书(论文)外文摘要
Title Design of a Program Breaking Visual CAPTCHAs
Abstract
CAPTCHA (Completely Automated Public Turing test to Tell Computers and Humans Apart)is a program that can generate and grade tests that most humans can pass, yet current computer programs can’t pass. This breaking program that includes Otsu’s binarization algorithm, a method basics on labeling the connecting component in a CAPTCHA, a character correcting method using rotating the image, and the template matching method can break the CAPTCHA in Commercial Bank of china website. And the thesis introduces another method called K-means color clustering that can segment characters. This program developed efficient methods breaking CAPTCHAs with a moderate rate.
Keywords breaking CAPTCHA binarization algorithm character correcting template matching K-means color clustering
目次
1 绪论 1
1.1 验证码原理及破解方法简介 1
1.1.1 验证码破解的研究背景 1
1.1.2 验证码分析 1
1.1.3 验证码的破解 2
1.2 本论文所完成的工作及论文安排 2
2 基于域值分割的验证码破解方法 3
2.1 验证码图像的二值化 3
2.2验证码字符提取 6
2.3字符倾斜矫正及规格化 10
2.4字符匹配识别 13
2.5本章小结 16
3基于K-means颜色聚类的验证码破解方法 17
3.1K-means聚类方法 17
3.2图像分割 22
3.3图像矫正 22
3. 4 字符模板匹配 25
3.5本章总结 23
结 论 25
致 谢 26
1 绪论
1.1 验证码原理及破解方法简介
1.1.1 验证码破解的研究背景
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)是全自动区分计算机和人类的图灵测试的缩写。其主要是设计用来区分网站使用者是人还是计算机程序,并且能有效地过滤出计算机,从而使计算机不能有效地通过验证来传播垃圾信息。图形验证码的设计有效地保护了网站和用户能正常地运行和使用。
验证码现如今已经广泛运用于各大网站上,它在账户注册、在线投票、在线交易等方面起到了关键性的作用。但是在近几年,随着计算机图像处理的发展,一些人可以通过编写一些有针对性的对抗软件成功破解出这些文本验证码,从而使文本验证码没有过滤计算机程序的效果。例如,Mori使用形状上下文成功破解了EZ-Gimpy验证码成功率高达92%,Moy等人运用模板匹配法破解EZ-Gimpy成功率达99%。Yan等人结合先验知识,运用了图像处理和模式识别方法破解了雅虎和微软的文本验证码。[1][3]