1 程序整体功能及模块介绍
本设计为基于 MATLAB 的数字验证码识别,通过一个 GUI 界面来进行实时交互。可以识别带有噪声的数字验证码。流程为:打开图像文件,显示图片,用颜色分量的方法将噪声去除,得到去噪后图像,利用连通域法进行字符分割,提取到每个字符的 Hu 不变矩,进而跟模板字符相匹配,得到识别结果及文件保存关闭系统。整体功能模块如图 1.1 所示。
验证码识别过程:主要有信息获取、预处理、定位、分割、识别等个部分。验证码获取:选择需要识别的验证码,通过采样量化等方式获取图片信息。预处理:预处理的目的是去除噪声,加强有用的信息,并对输入图片进行有需要修复,以得到良好的识别效果。特征提取:经过预处理后的有用信号,数据量较大,所以此时根据识别图中数字的要求,提取数字的关键信息并忽略其噪点。检测/分3割:在图像处理过程中,有时会需要对图像进行分割来提取有价值的用于后继处理的部分,为实现验证码更好的识别对图片进行了分割一或多幅图片中含有特定目标的部分。识别:验证得到的数据是否符合前提要求,识别过程最简单的方式是模板匹配,通过与文件中的单个数字图片进行比对得到识别数字,并返回在文本容器中,最终在 GUI 显示。运行结果显示截图如图 1.2 所示。