获取实验需要的图片
通过Java编写的爬虫批量爬取教务系统网站验证码150张。部分图片如下。
单个图片效果为:
观察图片,由于噪声对图片识别干扰太大,需要进行去噪处理,本次我使用两种除噪方法,观测效果。
a.平滑滤波除噪:
处理示例结果:
b.中值滤波除噪:
处理示例结果:
观察两次处理结果,本次实验我决定使用3*3中值滤波对图片进行处理。
图片的二值化处理
事实上,在本实验中,纵观全局,这一步尤为重要,因为只有在二值化图片后,我们才能够对其进行分类,且本例未使用利用灰度值切割图像的方法,而是使用拆分图片二进制逻辑表分割图形,所以堪称关键性的一步。
处理结果示例:
所以,目前我们的图片变成了这样(部分截图):
图片切割
将图片分割为四部分,分别占有一个字符,以准备之后的神经网络训练。图片分割涉及一个函数文件和一个脚本文件,截图分别为:
经过两步操作后得到最终图片效果为:(部分截图)
图片分类
为了后续神经网络的设计,我们必须对现有数据进行分类,分类标准为:新建一个文件夹,使用含有一定顺序的命名规范对图片命名,抓取图片切割后的单张图片(A,B…Z,0,1…9)得到一组训练样本,如图。
到这里之后,我们对图片的处理大致完成了。至于神经网络的设计,因较繁琐,在此不贴出。