0
点赞
收藏
分享

微信扫一扫

【车牌识别】基于BP神经网络求解车牌识别问题含Matlab源码

1 简介

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

【车牌识别】基于BP神经网络求解车牌识别问题含Matlab源码_字符识别

【车牌识别】基于BP神经网络求解车牌识别问题含Matlab源码_车牌识别_02

【车牌识别】基于BP神经网络求解车牌识别问题含Matlab源码_神经网络_03

【车牌识别】基于BP神经网络求解车牌识别问题含Matlab源码_字符识别_04

【车牌识别】基于BP神经网络求解车牌识别问题含Matlab源码_车牌识别_05

2 部分代码

function fenge = shuzifenge(imfenge,qingxiejiao)
[y,x]=size(imfenge);
%===============用函数设定分割阈值========================
SS=x*y
if SS<=20000
shedingyuzhi=4;
elseif SS>20000&&SS<=30000
shedingyuzhi=4;
elseif SS>30000&&SS<=50000
shedingyuzhi=4;
elseif SS>50000&&SS<=80000
shedingyuzhi=4;
else
shedingyuzhi=4;
end
ganrao=SS/100;
%=========================================================
%定义数组histogram存储垂直方向的黑点数
histogram=sum(~imfenge);
%=================文字分割=============================
k=1;
for h=1:x-1
if ((histogram(1,h)<=shedingyuzhi)&&(histogram(1,h+1)>shedingyuzhi))||((h==1)&&histogram(1,h)>shedingyuzhi)
fenge(1,k)=h;
k=k+1;
elseif ((histogram(1,h)>shedingyuzhi)&&(histogram(1,h+1)<=shedingyuzhi))||((h==x-1)&&histogram(1,h)>shedingyuzhi)
fenge(1,k)=h+1;
k=k+1;
end
end
k=k-1;%去掉多产生的一个K值
if k<10
msgbox('提取出错','警告');
pause;
end
%==============================================
if (sum(histogram(1,fenge(1,1):fenge(1,2)))<ganrao)||((fenge(1,2)-fenge(1,1))<(fenge(1,4)-fenge(1,3))/2)
for i=3:k
fenge(1,i-2)=fenge(1,i);
end
end
[m n]=size(fenge);
if n<14
msgbox('提取出错','警告');
pause;
end
fenge=fenge(1,1:14);

3 仿真结果

【车牌识别】基于BP神经网络求解车牌识别问题含Matlab源码_车牌识别_06

4 参考文献

[1]董天宇. 基于BP神经网络的车牌识别研究[D]. 华北理工大学.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【车牌识别】基于BP神经网络求解车牌识别问题含Matlab源码_字符识别_07






举报

相关推荐

0 条评论