毕设题目:Matlab车牌识别

Posted 紫极神光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了毕设题目:Matlab车牌识别相关的知识,希望对你有一定的参考价值。

1 车牌识别系统设计与实现
车牌识别系统主要分为三部分:车牌图像预处理、特征提取以及基于BP神经网络对特征进行训练和分类,流程图如图1所示。

图1 车牌识别系统组成示意图

2 车牌图像预处理
车牌图像预处理是对车牌进行智能识别的基础,处理结果直接影响后续车牌识别的精度。车牌图像预处理过程主要包括车牌定位和字符分割,作用是将车牌从复杂的背景中分割出来,并按照国内车牌的设计规则,将其分割为7个字符块,以便进行后续的特征提取及字符识别。
2.1车牌定位
车牌定位主要采用图像处理中的一些去噪算法及数学形态学方法,流程图如图2所示。

图2 车牌定位流程图
主要步骤包括:
1)将图像灰度化以增强图像效果,如图3所示;
2)采用均值滤波平滑图像,去除图像中的噪声;
3) 利用Sobel算子对图像进行边缘提取 , 将图片中的车牌边缘保留, 如图4所示;

图3 图像灰度化前后图片

4) 利用HSV模型和RGB模型中的蓝色区域取交集, 得到疑似蓝色区域位置, 如图5所示;
5) 利用[15] 的矩形结构元素对图像先进行膨胀, 再进行腐蚀, 并和Sobel算子提取到的边缘信息取交集, 去掉无
用的边缘信息,选出竖向纹理复杂的疑似车牌区域,如图6所示;
6)利用结构元素为[1040]的矩形对疑似车牌区域进行闭运算,得到一些内部填充较为完整的区域,如图7所示;

图5 蓝色区域取交集

图6 疑似车牌区域

图7 闭运算后的图像
7)删除连通区域小于1300的小区域,如图8所示;
8)通过计算矩形区域的长宽比,去除长宽比低于2.5或大于3.8的区域[6],得到真正的车牌区域,并将车牌区域剪切出来,如图9所示。

图8 从图像中移除小对象

图9 剪切后车牌区域
2.2 字符分割
根据《中华人民共和国机动车号牌》行业标准,国内普通汽车车牌宽度为44cm,高度为14cm,字符宽度为4.5cm,高度为9cm[71。对车牌定位后得到的剪切后的车牌区域首先进行灰度化,再进行二值化,如图10所示。对图10中二值化后的车牌图像进行垂直方向像素统计,根据车牌字符的宽度和高度、字符间距离等特征,将车牌分为七个区域,最后归一化为32×40像素的统一格式,如图11所示。

图10 二值化图像

图11 字符分割后的车牌图像
3 车牌字符特征提取
对分割后的每个车牌字符二值图像进行基于白像素的特征提取,共提取13维特征。以上述字符分割后的第5个字符为例,将单个字符按照两行两列分为8块小区域,统计每个小区域中白像素的个数,得到第1-8维特征,如图12所示。
在水平方向画两条横线,将单个字符在水平方向上分为三部分,统计两条横线上的白色像素个数,得到第9-10维特征,如图13所示。在垂直方向上画两条竖线,将单个字符在垂直方向上分为三部分,统计两条竖线上的白色像素个数,得到第11-12维特征,如图14所示。最后,统计整个字符图片上白色像素的总点数,作为第13维特征。

图1 2 第1-8维特征

图1 3 第9、10维特征

图1 4 第11、12维特征
4 BP神经网络训练与分类
神经网络是由多输入、单输出或多输出的神经元连接而成的网络,能通过学习外界环境中的知识不断优化自身的网各参数,从而提高自身性能18]。由于神经网络可以采用并行方式大规模、高速地处理大型问题,目前已经被广泛应用在车牌识别领域19].
BP神经网络是一种基于最速下降法的多层前馈神经网络,由输入层、隐含层、输出层三部分构成,其拓扑结构如图15所示。BP神经网络的激活函数通常采用非线性转移函数,即S型函数-Sigmoid函数。BP神经网络主要通过来自每个神经元信息的前向传播和误差的反向传播来不断调整自身网络的权重和阈值,从而使整个网络的平方误差之和最小化。

图1 5 BP神经网络的结构
基于BP神经网络的车牌字符识别算法主要分为以下三个步骤:建立BP神经网络、利用字符特征对BP神经网络进行训练、对输入车牌的字符特征进行分类。
4.1建立BP神经网络
根据国内普通车牌字符内容的特点, 基于MATLAB平台建立了三个BP子网分别识别不同位置的字符。其中第一个BP子网用于识别车牌的第一个汉字字符(由于数据采集局限性,选取6个汉字字符进行训练和测试),第二个BP子网用于识别车牌的第二个英文字母字符,第三个BP子网用于识别车牌的第3-7个字符,这5个字符为英文字母+数字组合形式。在数据进入神经网络之前, 首先采用pre mn mx函数对数据进行归一化, 防止出现较大误差。
对于第一个BP子网,建立13个输入、4个隐含层、6个输出的BP神经网络;对于第二个BP子网,建立13个输入、6个隐含层、24个输出的BP神经网络;对于第三个BP子网,建立13个输入、10个隐含层、34个输出的BP神经网络。三个BP子网的第一层神经元的激活函数均为log sig, 第二层均为pure lin, 学习方法均采用train gdx。
4.2训练BP神经网络
对于三个BP子网,分别输入其对应种类字符的13维特征值进行训练。对于第一个BP子网,收集了“沪”“京”“闽”“苏”“粤”“浙”六种汉字字符,共计1249幅字符图片进行13维特征提取,并输入BP子网进行训练,部分训练样本如图16所示。

图1 6 部分汉字字符训练库
对于第二个BP子网,由于车牌号中不含有字母“"和“O”,收集了除这两种字母之外的24种英文字母字符,共计3198幅字符图片进行13维特征提取,并输入BP子网进行训练,部分训练样本如图17所示。

图1 7 部分英文字母字符训练库
对于第三个BP子网,收集了上述24种英文字母字符以及数字0-9共34种字符,共计4285幅字符图片进行13维特征提取,并输入BP子网进行训练,部分训练样本如图18所示。

图1 8 部分英文字母+数字字符训练库
4.3 BP神经网络分类结果
对于每个测试字符,将提取到的13维特征输入训练好的BP神经网络进行分类,输出BP神经网络识别结果。对于上述车牌号为“京PKR 676”的原图, 识别结果正确显示为“京PKR 676”, 如图19所示。

图1 9 识别结果

5 现成案例(代码+参考文献)
5.1【车牌识别】基于matlab GUI BP神经网络车牌识别(带语音播报)【含Matlab源码 668期】

5.2【车牌识别】基于matlab GUI RGB颜色模型车牌识别【含Matlab源码 888期】

5.3【车牌识别】基于matlab GUI模板匹配车牌识别【含Matlab源码 416期】

5.4【车牌识别】基于matlab GUI模板匹配车牌识别门禁系统【含Matlab源码 1091期】

5.5【车牌识别】基于matlab GUI模拟停车位管理系统【含Matlab源码 898期】

5.6【车牌识别】基于matlab GUI停车计费系统【含Matlab源码 735期】

5.7【车牌识别】基于matlab GUI阈值分割车牌定位识别【含Matlab源码 721期】

5.8【车牌识别】基于matlab车辆出入库计时系统【含Matlab源码 469期】

5.9【车牌识别】基于matlab模板匹配新能源车牌识别【含Matlab源码 865期】

5.10【车牌识别】基于matlab形态学车牌识别【含Matlab源码 1155期】

6 Matlab毕设系列 —说明
Matlab毕设系列–说明
链接:https://qq912100926.blog.csdn.net/article/details/121363930

7 参考文献
[1]高勇.基于BP神经网络的车牌识别建模及实现[J].电子测试. 2021,(01)
[2]陶鹏,朱华.模板匹配识别算法和神经网络识别算法的比较及MATLAB实现[J].电脑知识与技术. 2020,16(34)

以上是关于毕设题目:Matlab车牌识别的主要内容,如果未能解决你的问题,请参考以下文章

车牌识别基于matlab投影模板匹配车牌识别含Matlab源码 1359期

车牌识别基于matlab投影模板匹配车牌识别含Matlab源码 1359期

车牌识别基于matlab GUI模板匹配车牌识别含Matlab源码 1215期

车牌识别基于matlab GUI模板匹配车牌识别含Matlab源码 1215期

车牌识别基于matlab GUI模板匹配新能源轿车货车车牌识别含Matlab源码 2169期

车牌识别基于matlab GUI字符匹配车牌识别(18省份)含Matlab源码 1617期