大四毕业设计题目是《百度验证码的识别》,本文以百度验证码为例,概述验证码识别的基本步骤。
基本步骤
移除背景
用图像处理的方法将验证码去噪(去除干扰的图案)。
分离字符
通过二值化,去噪,垂直投影,颜色填充等步骤将验证码中的字符分离出来。对于实心字符并且原本就是分开的验证码(如图一),通过垂直方向的投影就能分离出来;但是如果是字符有粘连,甚至重合(如图二),那么字符的分离会麻烦很多;如果是空心字符(如图三),可以通过颜色填充来分离字符;但是如果遇上既是重合又是空心的验证码(如图四),那分离难度会很大很大。
识别单独字符
- 模板匹配法,利用模板图像与待识别的字符进行点对点比较,取相似度最高的字符。
- 特征匹配法,通过分析字符的笔划特征或者字符像素在图像中的分布,设计分类器,识别字符。
- 机器学习(神经网络),用大量人工识别的字符训练神经网络,然后用机器识别分离出来的字符。
知识储备
- 图像处理的基础
- 对神经网络的初步了解
- 会使用任何编程语言的图像处理的函数