车牌识别程序

车牌识别程序,第1张

汽车牌照自动识别技术是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。通过对图像的采集和处理,完成车牌自动识别功能,能从一幅图像中自动提取车牌图像,自动分割字符,进而对字符进行识别.其硬件基础一般包括触发设备(监测车辆是否进入视野)、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机(如计算机)等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。

一、车牌识别技术流程剖解

车牌识别作为交通监控的核心技术,应用兆樱基在多项子系统中,如闯红灯监测系统、超速监测系统、逆行监测系统、禁行监测系统、公交车道监测系统、非机动车道行车监测系统、压双黄线监测系统、紧急停车带行车监测系统、移动式车辆稽查系统等等。智能化多媒体网络车牌识别系统广泛应用在过往车辆自动登记、验证,公路收费,车辆安全核查,小区、停车场管理等方面。

系统采用视频实时触发方式进行检测抓拍,能够自动侦测、准确识别及验证行驶或停泊中车辆的整车车牌号码。可对已抓拍图像与数据库资料及时进行比对,当发现应拦截车辆时,系统能在本地机和中心机上及时报警。系统采用先进的模糊图像处理技术,通过程序能很好的实现对于车牌的整体倾斜、车牌的文字倾斜、车牌的污损和模糊等的处理,将人眼都很难辨别的车牌号识别出来。

优位停车车牌识别的流程可分为车牌定位、车牌预处理、字符分割和字符识别四个步骤。

二、系统实现功能和技术特点

准确识别不同地区及各种类型的车牌号码。

采用图像自动触发方式,不需要其他外在触发机制。

自动完成车辆记数,车流量统计。

对已抓拍图像能与数据库资料及时进行比对,当发现应拦截车辆时,在本地机和中心机上及时。

内置的数据库管理软件能存储、搜索及整理车辆资料,能自动备份数据并完成统计报告。

在网络的环境下实现各地的数据同步,可实时监控前端系统的运行状况。

对运动速度在180公里/小时以下的汽车车牌进行自动识别。

在良好光照条件下,车牌识别率不低于96%,在阴雨天、夜间人工光照条件下,车牌识别率不低于90%。系统能够识别的车牌类型包括:普通民用汽车车牌、军用汽车车牌(含武警车牌)、警用汽车车牌系统能够识别车辆类型,绘制出车辆的三维图像。

抓拍图像的时间小于0.03秒,识别图像的时间小于0.2秒。

系统适应全天候条件下工作。

三、停车场车牌识别应用

一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。

(一)车辆检测

车辆检测可以采用埋地线圈检测、红外检测、雷达检测、视频检测等多种方式。采用视频检测可以避免破坏路面、不必附加外部检测设备、不需矫正触发位置、节省开支,而且更适合移动式、便携式应用的要求。

具备视频车辆检测功能的牌照识别系统,首先对视频信号中的一帧(场)的信号进行图像采集,数字化,得到对应的数字图像;然后对其进行分析,判断其中是否有车辆;若认为有车辆通行,则进入到下一步进行牌照识别;否则继续采集视频信号颂伏,进行处理。

系统进行视频车辆检测,需要具备很高的处理速度并采用优秀的算法,在基本不丢帧的情况下实现图像采集、处理。若处理速度慢,则导致丢帧,使系统无法正确检测到行驶速度较快的车辆,同时也难以保证在有利于识别的位置开始识别处理,影响系统识别率。因此,将视频车辆检测与牌照自动识别相结合具备一定的技术难度。

(二)牌照号码、颜色识别

为了进行牌照识别,需要以下几个基本的步骤:

牌照定位,定位图片中的牌照位置;

牌照字符分割,把牌照中的字符分割出来;

牌照字符识别族谨,把分割好的字符进行识别,最终组成牌照号码。

牌照识别过程中,牌照颜色的识别依据算法不同,可能在上述不同步骤实现,通常与牌照识别互相配合、互相验证。

1、牌照定位

自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。

2、牌照字符分割

完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。

3、牌照字符识别

字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。基于模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。基于人工神经元网络的算法有两种:一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。

实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,使采集到的图像最利于识别。

车牌识别厂家哪家好?武汉车牌识别哪家好?首选优位停车,为用户提供2017停车系统设计方案效果图,整体报价。包括车牌识别停车场效果图、车牌识别设备,安装线材,车牌识别问题解答。武汉海量案例,政府单位,事业单位,工业物流园,小区,商场,医院,学校都广泛采用优位停车车牌识别系统。

肯定可以啦,变量放在上层程序中山宽,作为参数传递给各个不同功能函数。

主函数: close allclear all

%% 归一化训练样本

I0=pretreatment(imread('BP/0.jpg'))I1=pretreatment(imread('BP/1.jpg'))I2=pretreatment(imread('BP/2.jpg'))I3=pretreatment(imread('BP/3.jpg'))I4=pretreatment(imread('BP/4.jpg'))I5=pretreatment(imread('BP/5.jpg'))I6=pretreatment(imread('BP/6.jpg'))I7=pretreatment(imread('BP/7.jpg'))I8=pretreatment(imread('BP/8.jpg'))I9=pretreatment(imread('BP/9.jpg'))I10=pretreatment(imread('BP/A.jpg'))I11=pretreatment(imread('BP/B.jpg'))I12=pretreatment(imread('BP/C.jpg'))I13=pretreatment(imread('BP/G.jpg'))I14=pretreatment(imread('BP/L.jpg'))I15=pretreatment(imread('BP/M.jpg'))I16=pretreatment(imread('BP/N.jpg'))I17=pretreatment(imread('BP/P.jpg'))

P=[I0',I1',I2',I3',I4',I5',I6',I7',I8',I9',I10',I11',I12',I13',I14',I15',I16',I17']T=eye(18,18) %输出哪唯洞样本 %% bp神经网络参数设置

net=newff(minmax(P),[1250,32,18],{'logsig','logsig','logsig'},'trainrp')net.inputWeights{1,1}.initFcn ='randnr'net.layerWeights{2,1}.initFcn ='randnr'net.trainparam.epochs=5000net.trainparam.show=50%net.trainparam.lr=0.003

net.trainparam.goal=0.0000000001net=init(net)

[net,tr]=train(net,P,T)%训练李枯样本 %% 测试

%I=imread('CAR/0.jpg')DW=Location()%车牌定位

[PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6]=StringSplit(DW)%字符分割及处理 %% 测试字符,得到识别数值 PIN0=pretreatment(PIN0)PIN1=pretreatment(PIN1)PIN2=pretreatment(PIN2)

PIN3=pretreatment(PIN3)PIN4=pretreatment(PIN4)PIN5=pretreatment(PIN5)PIN6=pretreatment(PIN6)

P0=[PIN0',PIN1',PIN2',PIN3',PIN4',PIN5',PIN6']for i=2:7

T0= sim(net ,P0(:,i)) T1 = compet (T0)d = find(T1 == 1) - 1 if (d==10) str='A' elseif (d==11) str='B' elseif (d==12) str='C' elseif (d==13) str='G' elseif (d==14) str='L' elseif (d==15) str='M' elseif (d==16) str='N' elseif (d==17) str='P' elseif (d==0) str='0' elseif (d==1) str='1' elseif (d==2) str='2' elseif (d==3) str='3' elseif (d==4) str='4' elseif (d==5) str='5' elseif (d==6) str='6' elseif (d==7) str='7' elseif (d==8) str='8' elseif (d==9) str='9' else

str=num2str(d) end

switch i case 2

str2=str case 3

str3=str case 4

str4=str

case 5

str5=str case 6

str6=str otherwise str7=str end end

%% 识别出的结果以标题形式显示在图上

S=strcat('云',str2,str3,str4,str5,str6,str7) figure()

imshow(DW),title(S,'fontsize',40)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12314614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存