不变矩特征在数字验证码识别中的应用研究-含Matlab代码

目录

  • 一、引言
  • 二、几何不变矩的基本原理
  • 三、图像预处理
  • 四、实验验证
  • 五、总结
  • 六、参考文献
  • 七、Matlab(GUI用户界面)代码获取

一、引言

验证码具有技术简单、易实施和传输数据小的优点,故而被很多网站尤其是论坛性质的网站大面积使用来防止自动化程序(如论坛自动灌水机)进行大批量的恶意行为。验证码技术也常用于辅助预防和阻止垃圾邮件群发等行为。常用的验证码识别方法主要有模板匹配、字符结构、字符形状等方面。这类方法缺点是对倾斜和字符的大小比较敏感,经过特殊处理后这些缺点可得到一定改进。基于外部轮廓的方法,将图像分割成相应若干单个数字图像,然后对分隔出来的单个数字图像外部轮廓的上、下、左、右4个方向进行特征计算,最后依据所计算得到的外部轮廓方向是否具有突变、左斜、右斜、圆弧等特征来对它们进行识别。基于机器学习的方法近年来研究较多,如利用神经网络、基于支持向量机等来进行识别验证码,此类方法较传统方法在识别率上有所提高,但较为复杂,有时会出现“过学习”现象。此外,还有基于粗糙集的彩色验证码图像识别方法,根据字符颜色、大小和位置关系,使用粗糙集方法将验证码字符分割出来,再利用 Adaboost进行训练、识别。无需太多样本,识别率较高,但对有一定几何形变的字符识别率不高。

不变矩是指物体(目标)在进行平移、缩放、旋转等几何变换后基本保持不变的矩统计量。目前,不变矩已成功应用于目标识别、数字水印等很多领域,但在验证码识别应用很少。

二、几何不变矩的基本原理

区域f(x, y)的(p+q)阶矩定义为

在这里插入图片描述
其相应的中心距定义为

在这里插入图片描述
其中, 在这里插入图片描述为重心坐标,在这里插入图片描述 是目标区域灰度质心。f(x, y)的归一化(p+q)阶中心矩定义为

在这里插入图片描述
其中, 在这里插入图片描述

由此,可以得到下列七种不变矩,它们对平移、旋转、以及尺度变换都具有几何不变性:

不变矩特征在数字验证码识别中的应用研究-含Matlab代码_第1张图片

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、图像预处理

在识别之前需对验证码图像进行一系列预处理操作,整体流程如图1所示。

一般数字验证码图像中的数字个数保持常量,较易分割,为进行后续数字分割,首先对图像进行初步去噪。然后对图像进行二值化,对数字进行定位、分割,在实际处理中,为了保证分割效果,可在分割之前再次对噪点进行滤除。数字定位好后,可提取验证码图像中各数字的不变矩特征进行识别。
不变矩特征在数字验证码识别中的应用研究-含Matlab代码_第2张图片

图1 图像预处理操作

四、实验验证

实验仿真通过Matlab完成,为便于直观观察结果,构建 GUI界面。载入验证码图像后;对验证码图像进行初步去噪、数字定位、归一化操作,结果分别如图2、图3、图4所示。

不变矩特征在数字验证码识别中的应用研究-含Matlab代码_第3张图片

图2 图像去噪结果

不变矩特征在数字验证码识别中的应用研究-含Matlab代码_第4张图片

图3 数字定位结果

不变矩特征在数字验证码识别中的应用研究-含Matlab代码_第5张图片

图4 数字归一化与识别结果

五、总结

利用图像的几何不变矩特征对数字验证码进行识别,以 Matlab 软件作为测试平台,并搭建GUI 界面进行测试。实验结果表明了不变矩在识别数字验证码方面的可行性。而且该方法可以很容易地扩展到英文字母或字母数字混合验证码的识别中。

六、参考文献

[1]吕霁. 浅谈验证码的识别[J]. 河北能源职业技术学院学报,2015,15(1):72-74.
[2]王虎,冯林,孙宇哲. 数字验证码识别算法的研究和设计[J]. 大连理工大学学报,2007,43(32):86-87.
[3]Kang C Y,Zhang W,Zhang T. Research and design of digital validation image recognition algorithm based on contour features[C]// International Conference on Machine Learning and Cybernetics. IEEE, 2008:3022-3025.
[4]朱绍文,陈光喜. 一种简单的基于字符形状的验证码识别技术[J]. 桂林电子科技大学学报,2010,30(1):59-62.

七、Matlab(GUI用户界面)代码获取

上述Matlab代码(GUI用户界面),可私信博主获取。


博主简介:研究方向涉及智能图像处理、深度学习等领域,先后发表过多篇SCI论文,在科研方面经验丰富。任何与算法程序科研方面的问题,均可私信交流讨论


你可能感兴趣的:(#,1.1,图像变换与识别,一,图像处理技术,图像识别,不变矩特征,验证码识别,字符识别,GUI界面)