首页 > 化工知识 > 【图像识别】基于BP神经网络实现车牌识别matlab代码

【图像识别】基于BP神经网络实现车牌识别matlab代码

时间:2021-11-25 来源: 浏览:

【图像识别】基于BP神经网络实现车牌识别matlab代码

原创 天天Matlab 天天Matlab
天天Matlab

TT_Matlab

每天分享一点Matlab资料,一起成长进步。需要定制程序添加qq1575304183

收录于话题 #图像处理matlab源码 254个 内容

1 简介

车牌识别系统(License Plate Recognition, LPR)在智能交通系统中占有非常重要的地位。同时,在智能交通领域的应用中,有很多基于图像处理、模式识别及机器视觉技术的研究课题,而其中重点之一即是车牌的自动识别,其主要包括车牌定位、倾斜矫正、字符分割及字符识别等四个部分。目前,车牌定位算法有很多种,且大部分都基于一定的理论知识体系,主要为:图像彩色信息、纹理分析、边缘检测、数学形态学、遗传学及神经网络,等等。车牌倾斜矫正主要有以下几种方法:基于几何与纹理分析的方法、基于Hough直线检测的方法及基于边缘检测的方法等。车牌字符分割主要有以下几种方法:基于纹理和投影特征的方法、基于SVM(Support Vector Machine,支持向量机)的聚类方法、基于区域生长的分割算法及基于先验知识的马尔可夫模型分割算法等。车牌字符识别主要有以下几种方法:模式匹配法、特征分类法及基于神经网络的分类方法等。充分考虑到汽车牌照在实际拍摄中往往存在着噪声污染、畸变扭曲、字符断裂、光照不均、车牌尺寸颜色多样化等不良因素,并在参考前人研究并综合考虑各种算法的优缺点的基础上,本论文提出了一套改进型车牌识别算法。在车牌定位部分,利用车牌纹理特征、投影特征及形状特征(长宽比)等有效信息,并应用Sobel y方向边缘检测、一阶水平差分、曲线平滑、波峰波谷检测法及波峰区域合并法,快速准确地实现车牌定位。在倾斜矫正部分,利用车牌字符的纹理分布特征,避免了车牌边缘被污染或不存在的影响及Hough直线检测复杂运算。在字符分割部分,在充分利用车牌字符的纹理特征、面积分布特征及形状特征(长宽比)等先验知识的前提下,结合投影特征和连通域特征来实现字符分割。在字符识别部分,采用了基于BP(Back Propagation,反向传播)神经网络的字符识别方法。同时,整个算法处理过程还应用到灰度变换、Otsu(Otsu,最大类间方差法)自适应阈值二值化、图像滤波、边缘检测等。本文首先介绍了车牌识别技术的研究背景及研究现状,并阐述了本文的主要研究内容、创新点及论文组织结构。其次介绍了一些本文应用到的相关知识及系统理论,包括数字图像处理的基础知识及其在相关方面的应用,数学形态学的基础知识及其在图像处理中的应用,BP神经网络理论基础及其在模式识别方面的应用。然后从车牌定位、车牌字符分割及车牌字符识别三个部分对本论文车牌识别算法进行了详细分析与介绍。最后从系统级上介绍了车牌识别技术的实现,对本论文算法进行仿真,并对结果进行分析、总结。实验证明,本论文中所述的改进型的车牌识别算法准确、有效、可靠。

2 部分代码

function net = BP_Set () I0 = per_deal ( ’./bp/0.jpg’ ); I1 = per_deal ( ’./bp/1.jpg’ ); I2 = per_deal ( ’./bp/2.jpg’ ); I3 = per_deal ( ’./bp/3.jpg’ ); I4 = per_deal ( ’./bp/4.jpg’ ); I5 = per_deal ( ’./bp/5.jpg’ ); I6 = per_deal ( ’./bp/6.jpg’ ); I7 = per_deal ( ’./bp/7.jpg’ ); I8 = per_deal ( ’./bp/8.jpg’ ); I9 = per_deal ( ’./bp/9.jpg’ ); I10 = per_deal ( ’./bp/A.jpg’ ); I11 = per_deal ( ’./bp/B.jpg’ ); I12 = per_deal ( ’./bp/C.jpg’ ); I13 = per_deal ( ’./bp/D.jpg’ ); I14 = per_deal ( ’./bp/G.jpg’ ); I15 = per_deal ( ’./bp/K.jpg’ ); I16 = per_deal ( ’./bp/L.jpg’ ); I17 = per_deal ( ’./bp/M.jpg’ ); I18 = per_deal ( ’./bp/辽.jpg’ ); I19 = per_deal ( ’./bp/苏.jpg’ ); I20 = per_deal ( ’./bp/陕.jpg’ ); I21 = per_deal ( ’./bp/京.jpg’ ); I22 = per_deal ( ’./bp/J.jpg’ ); I23 = per_deal ( ’./bp/鲁.jpg’ ); P =[ I0 , I1 , I2 , I3 , I4 , I5 , I6 , I7 , I8 , I9 , I10 , I11 , I12 , I13 , I14 , I15 , I16 , I17 , I18 , I19 , I20 , I21 , I22 , I23 ]; T = eye ( 24 , 24 );   %输出样本 K = minmax ( P ); %% bp神经网络参数设置 net = newff ( minmax ( P ),[ 200 , 24 ],{ ’logsig’ , ’logsig’ , ’logsig’ }, ’trainrp’ ); net . inputWeights { 1 , 1 } . initFcn = ’randnr’ ; net . layerWeights { 2 , 1 } . initFcn = ’randnr’ ; net . trainparam . epochs = 60000 ; net . trainparam . show = 50 ; net . trainparam . lr = 0.003 ; net . trainparam . goal = 0.00000000001 ; net = init ( net ); [ net , tr ]= train ( net , P , T ); %训练样本

3 仿真结果

4 参考文献

[1]李丰林. "基于BP神经网络的汽车牌照识别." 淮海工学院学报:自然科学版 12.4(2003):3.

天天Matlab

赞赏二维码 微信扫一扫赞赏作者 赞赏

已喜欢, 对作者说句悄悄话
最多40字,当前共

  人赞赏

1 / 3

长按二维码向我转账

赞赏二维码

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐