本设计为基于 MATLAB 的数字验证码识别,通过一个 GUI 界面来进行实时交互。可以识别带有噪声的数字验证码。流程为:打开图像文件,显示图片,用颜色分量的方法将噪声去除,得到去噪后图像,利用连通域法进行字符分割,提取到每个字符的 Hu 不变矩,进而跟模板字符相匹配,得到识别结果及文件保存关闭系统。整体功能模块如图 1.1 所示。
验证码识别过程:主要有信息获取、预处理、定位、分割、识别等个部分。验证码获取:选择需要识别的验证码,通过采样量化等方式获取图片信息。预处理:预处理的目的是去除噪声,加强有用的信息,并对输入图片进行有需要修复,以得到良好的识别效果。特征提取:经过预处理后的有用信号,数据量较大,所以此时根据识别图中数字的要求,提取数字的关键信息并忽略其噪点。检测/分3割:在图像处理过程中,有时会需要对图像进行分割来提取有价值的用于后继处理的部分,为实现验证码更好的识别对图片进行了分割一或多幅图片中含有特定目标的部分。识别:验证得到的数据是否符合前提要求,识别过程最简单的方式是模板匹配,通过与文件中的单个数字图片进行比对得到识别数字,并返回在文本容器中,最终在 GUI 显示。运行结果显示截图如图 1.2 所示。
实验参考博客:https://blog.csdn.net/weixin_38719187/article/details/104201467
源码参考:https://download.csdn.net/download/weixin_38719187/12678958
她没做出来的,我都补上了。 我的代码在:https://download.csdn.net/download/qq_39207897/20669918?spm=1001.2014.3001.5503
可能会因为图片大小,颜色而识别不好,因为图片的大小写死了,如果代码跟你的图片不匹配,你可以尝试改变图片的大小。有其他问题欢迎留言。
为了将验证码中的数字从图像中识别出来,本文采用了 RGB 颜色分量的方法去噪,用连通域法进行了字符分割,Hu 不变矩提取字符,计算区域图像的 Hu 不变矩及改进的相对矩。下面将分别介绍各种算法的原理。
噪声在图像中的表现形式通常为一些引起较强视觉效果的孤立像素点或像素块,这些无用的信息会降低图像的可观测性,在图像识别中也会降低图像的可检测性。验证码中图像噪声的来源通常有两种,一种是来自图像获取的过程,也就是在图像采集过程中,受环境或者电子器材硬件影响而产生的噪声;一种是来自图像传输的过程。而验证码中的噪声是主动添加的。常见的图像噪声有四种,分别是高斯噪声、椒盐噪声、乘性噪声和泊松噪声。
首先对文件进行裁剪、灰度与滤波处理,在此基础上使用 Canny 算法进行多轮边缘查找,再将其查找结果(阈化图像)进行像素邻域计算以得到分布在图像内大大小小多个像素连通区域,然后将这些以矩形标识的分散区域根据识别对象字符横向等距分布的特性进行多次区域兼并运算,之后将多轮处理后得到的多个兼并对象作整体布局上的比较分析,从而淘汰不良结果。最后根据最优兼并结果内字符单元区域集合提取图像内待识别数字。
分割算法是图像处理和分析中必不可少的部分,具有重要的实际意义。它是根据图像处理和分析的需要把图像分成各具特性的区域并提取出感兴趣的目标的技术和过程。从算法的角度来看,可分为:①阈值分割;②像素分割;③深度分割;④彩色分割;⑤基于模糊集法;⑥基于区域生长法。大量实践证明,虽然目前图像分割的算法很多,但在实际使用中,每一种算法都有其局限性,针对不同类型的图像和不同的图像特征应采用不同的分割策略。由于是提取目标的形状特征,且采用的图片是真彩色单一目标的图片。
基于图像颜色连通区域的方法。该方法提取的图像特征结合了图像的颜色构成与分布信息。整个方法分为两部分:(1)基于多个颜色分量共生矩阵信息的图像纹理特征提取:(2)基于上述纹理特征的相似性度量函数。其中,图像颜色连通区域集的确定,是方法的基础和关键。下面,先对颜色连通区域的概念进行单介绍.
获取图像中颜色的空间分布特性的理想方法是将图像分割成为若干子区域,使得每一子区域具有明显的颜色特征,然后存储每–区域的位置和颜色特征以支持图像检索。如果能同时结合每个图像子区域的共生矩阵或共生基元等纹理特征,无疑将大大提高图像检索的精确性。但是,目前而言,还没有一种普遍适用
的、可靠的图像区域分割手段。颜色连通域,就是图像中满足同一颜色连通的图像子块构成的图像子块集合,称为颜色连通区域。根据颜色连通和颜色连通区域的定义,整个图像可以定义为如下的颜色连通区域集:
采用 Hu 不变矩特征值向量进行距离度量,矩在图像识别和分析中应用较广,有 Hu 矩、Zemike 矩、复数矩等。MKHu's 利用二阶和三阶中心矩构造了七个不变矩,利用这七个不变矩可以描述一幅图像的区域形状,且具有旋转、平移和尺度不变性。但因其计算较为复杂,故研究人员提出了很多快速算法 Hu 矩是经典的矩描述方法,其相应公式如下。设数字图像 f(x,y),则其(p+q)阶定义为(p+q 阶中心矩为)其中
代码截图:
预先把需要识别的验证码放在 test 文件夹中,点击打开按钮后,就会弹
出 test 文件,在文件中选择数字这一张进行后续操作。
更多报告细节,参考:
代码:https://download.csdn.net/download/qq_39207897/20669918
报告https://download.csdn.net/download/qq_39207897/20670003