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

一、简介

1 摘要
随这图形图画技能的展开,现在的车牌辨认技能准确率越来越高,辨认速度越来越快。不论何种方式的车牌辨认体系,它们都是由触发、图画收集、图画辨认模块、辅佐光源和通信模块组springboot面试题成的。车牌辨软件库认体系触及光算法学、电器、电子操控、数字图画处理、核算视觉、人工智能等多项技能。触发模块担任在车辆抵达合适方位时,给出触发信号,操控抓拍。辅佐光源供应辅佐照明,确保体系在不同的光照条件下都能拍摄到高质量的图画。图画预处理程序对抓拍的图画进行处理,去除噪声,并进行参数调整。然后经过车牌定位、字符辨认,终究将辨认作用输出。

2 规划意图和意义
2.1规划意图:
2.1.1让学生安定理二进制转十进制计算器论课上所学的知识,理论联络实践。
2.1.2 练习学生的着手才华,激起学生的研讨潜能,行进学生的协作精神。
2.二进制2 规划意义:
车牌定位体系的意图在于正确获取整个图画中车牌的区域,并辨认二进制八进制十进制十六进制转化出车牌号。经过规划结束车闰土刺猹图片牌辨认体系,能够行进学生剖析问题和解决问题的才华,还能培育必定的科研才华。

3 规划原理
车牌主动辨认是人体肠道结构图部位称号一项运用车辆的动软件库态视频或静态图画进行车牌号码、车牌颜色主动辨认的方式辨认技能。其硬二进制计算器件根底一般包含触发设备、摄像设备、照明设备、图画收集设备、辨认车牌号码的处理机二进制转化器等,其软件中心包含车牌定位算法、车牌字符切开算法和光学字符辨认算法等。某些车牌辨认体系还具有经过视频图画判别车辆驶入视界的功用称之为视频车辆检测。一个无缺的车牌辨认体系应包含车辆检测、图画收集、车牌辨认等几部分。当车辆检测部分检测到车辆抵达时触发图画收集单元,收集当前的视频图画。车牌辨认单元对图画进行处理,定位出车springcloud牌方位,再将车牌中的人体接受的最大电压字符切开出来进行辨认,然后组成车牌号码输出。

4 具体规划进程二进制转化为十进制
【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】

  1. 提出整体规划计划:

车牌号码、颜色辨认
为了进行车牌辨认,需要以下几个根柢的进程:
a.车牌定位,定位图片中的车牌方位;
b.车牌字符切开,把车牌中的字符切开出来;
c.车牌字符辨认,把切开好的字符进行辨认,究竟组成车牌号码。
  车牌辨认进程算法的时刻复杂度取决于中,车牌颜色的辨认依据算法的有穷性是指算法不同,可能在上述乳糖操纵子不同进程结束,一般与车牌辨认相互配合、相互验证。
(1)车牌定位:
天然环境下,轿车图画布景杂乱、光照不二进制计算器均匀人体接受的最大电压,如安在天然布景软件应用中准确地确认车牌区域是整个辨认进程的要害。首先对收集到的视频图画进行大规划相关查找,找到符合轿车车牌特征的若干区域作为候选区,然后对这些侯选区域做进一步剖析、评判,终究选定一个最佳的区域作为车牌区域,并将springmvc的工作原理其从图象中切开出来。
(2)车牌字符切开 :
结束车牌区域的定位后,再将车牌区域切开成单个字符,然后进行辨认。字符切开一般选用笔直投影法。因为字符在笔直方向上的投影必定在字符间或字符内的空隙处获得软件工程学什么部分最小值的邻近,并且这个方位应满足车牌的字符书写格式、字符、标准捆绑和一些其他条件。运用笔直投影法对杂乱环境下的轿车图画中的字符切开有较好的作用。
【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】
(3)二进制手表车牌字符辨认 :
字符辨认方法现在主要有依据模板匹配算法和依据人工神经网络算法。依据模板匹配算法首先将切开后的字符二值化,并将其标准巨细缩放为字符数据库中模板的巨细,然后与一切的模板进行匹配,终究选最佳匹配作为作用。依据人工神经元网络的算法有两种:一种是先对待辨认字符进行特征提取,然后用所获得特征来练习神经网络分配器;另一种方法是直接把待处理算法的时刻复杂度是指什么图画输入网络,由网络主动结束特征提取人体接受的最大电压直至辨认出作用。实践运用中,车牌辨认Spring体系的辨认率与车牌闰土刺猹图片质量和拍摄质量密切相关。车牌质量会遭到各种二进制要素的影响,如生锈、污损、油漆掉落、字体褪色、车牌被遮挡、车牌倾斜、高亮反光、多车牌闰土刺猹、假车牌等等;实践拍摄进程也会遭到环境亮度、拍摄亮度、车辆速度等spring是什么意思等要素的影响。这些影响要素不同程度上降低了车牌辨认的辨认率,也正是车牌辨认体系的困难和挑战地点。为了行进辨认率,除了不断的完善辨认算法,还应该想方法打败各种光照条件,使收集到的图画最利于辨认。
【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】

二、源代码

clear ;软件工程专业
close all;
%Step1 获取图画   装入待处理五颜六色图画并闪spring是什么意思现原始图画
Scolor = imread('3.jpg');%算法工程师imread函数读取图画文件
%将五颜六色图画转化为对错并闪现
Sgray = rgb2gray(Scolor);%算法工程师学什么专业rgb2gray转化成灰度图
figure,imshow(Scolor),title('原始五颜六色图画')二进制亡者列车;%figure指令一同闪现两幅图画
figure,imshow(S软件工程就业方向及前景gray),title('原始对错图画'二进制八进制十进制十六进制转化);
%Step2 图画预处理   对Sgray 原始对错图画进行开操作得到图画布景
s=strel('disk',13);%strei函数
Bgray=imopen(Sgray,s);%翻开sgray s图画
figure,imshow(Bgray);title('布景图画');%输出布景图画
%用原始图画与布景图画作减法,增强图画
Egray=imsubtract(Sgray,Bgray);%两幅图相算法减
figure,imshow(Egra人体肠道结构图部位称号y);title('增强对错图画软件商铺');%输出对错图画
%Step3 获得最佳阈值,将图画二值化
fmax1=douRTCble(ma软件x(max(Egray)));%egray的最大值并输出双精度型
fmin1=double(min(min(Egspringboot常用注解ray)));%egray的最小二进制转八进制值并输出双精度型
level=(fmax1-(fmax1-fmin1)/3)/255;%获得最佳阈值
bw22=im2bw(Egray,level);%转化图画为二进制图画
bw2=double(bw22);
%Step4 对得到二值图画作开闭操作进行滤波
figure,imshow(springcloudbw2);title('图画二值化');%得到二值图画
grd=edge(bw2,'canny')%用canny算子辨认强度图画中的距离
figure,imshow(grd);title('图画边缘提取');%输出图画边缘
bg1=imclose(grd,strel('rectangle',[5,19]));%取矩形框的闭运算
figure,imshow(bg1);title('图画闭运算[5,19]');%输出闭运算的图画
bg3=imopen(bg1,strel('rectangle',[5,19]));%取矩形框的开运算
figure,imshow(bg3);title('图画开运算[5,19]');%输出开算法运算的图画
bg2=imopen(bg3,strel('rectangle',[19,1]));软件技能专业%取矩形框的开运算
figure算法是什么,imshow(bg2);title('图画开运算[19,1]');%spring输出开运算的图画
%Step5 对二值图画进行区域提取,并核算区域特征参springboot常用注解数。进行区域特征参数比较,提取车牌区域
[L,num] = bwlabel(bg2,springboot面试题8);%标二进制转化为十进制示二进制图画中已衔接的部分
Feastats = regionprops(L,'basic');%核算图画区域的特征标准
Area=[Feastats.A让天秤倒追的星座rea];%区域面积
BoundingBox=[Feastats.BoundingBox];%[x y width height]车牌的结构巨细
RGB = label2rgb(L, 'spring', 'k', '二进制shu算法的有穷性是指ffle'); %标志图画向RGB图画转化
figure,imshow(RGB);title('图画五颜六色符号');%输出结构的五颜六色图画
lx=0;
for l=1:num
width=BoundingBox((l-1)*4spring_结构+3);%结构宽度的核算
hight=BoundingBox((l-1)*4+4);%结构高度的核算
if闰土刺猹图片 (width>98 & width<160 & hight算法的时刻复杂度是指什么>25 & hight<50)%结算法是什么构的宽度和高度的规划
lx=人头攒动lx+1;
Getok(lx)=l;
end
end
for k= 1:lx
l=Getok(k);
startcol=BoundingBox((l-1)*4+1)-2;%开端二进制转十进制计算器列
startrow=BoundingBox((l-1)*4+2)-2;%开二进制怎样算始行
width=BoundingBox((l-1)*4+3)+8;%车牌宽
hight=BoundingBox((l-1)*4+4)+2;%车牌高
rato=width/hight;%核算车牌长宽比
if rato&g算法的五个特性t;2 & ratspringcloud五大组件o<4
break;
end
end
sbw1=bw算法剖析的意图是2(startrow:s算法工程师学什么专业tartrow+hight,startcol:start算法工程师学什么专业col+width-1); %获取车牌二值子图
subcol1=Sgray(startrow:startrow+hight,startcol:startcol+width-1);%获取车牌灰度子图
figure,subplot(2,1,1),imshow(subcol1);title('车牌灰度子图');%spring是什么意思输出灰度图画
s二进制转十进制计算器ubplot(2,1,2),imshow(sbw1);title('车牌二值子图');%输出车牌的二值图
%St软件技能是学什么ep6 核算车牌水平投影,并对水平投算法的有穷性是指影进行峰谷剖析
histcol1=sum(sbw1);      %核算笔直投影
histrow=sum(sbw1');      %核算水平投影
figure,subplot(2,1,1闰土刺猹),bar(histcol1);title('笔直投影(含边框)人体肠道结构图部位称号');%输出笔直投影
subplot(2,1,2),bar(histrow);     title('水平投影(含边框)');%输出水平投影
figure,subplot(2,1,1),bar(histrow);     title算法的时刻复杂度取决于('水平投影(含边框)');%输出水平投影
subplot(2,1,2二进制转八进制),imshow(sbw1);title('车牌二值子图');%输出二值图
%对水平投影进行峰谷剖析
meanrow=mean(histrow);%求水平投影的均匀值
minrow=min(histrow);%求水平投影的最小值
levelrow=(闰土刺猹meanrow+minrow)/2;%求水平投影的均匀值
count1=0;
l=1;
f人头攒动的读音or k=1:hight
if histrow(k)<=levelrow
count1=count1+1;
else
if count1>=1
markrow(l)=k;%上升点
markrow1(l)=count1;%二进制怎样算谷宽度(下降点至闰土刺猹下一个上升点)
l=l+1;
end
count1=0;
end
end
markrow2=diff软件技能(markrow);%峰距离(上升点至下一个上升点)
[m1,n1]=siz软件应用e(markrow2);
n1=n1+1;软件工程就业方向及前景
markrow(l)=hight;
markrow1(l)=count1;
markrow2(n1)=markrow(l)-markrow(l-1)springcloud五大组件;
l=0;
for k=1:n1
markrow3(k)=maspringboot常用注解rkrow(k+1)-markro算法的时刻复杂度取决于w1(k+1);%下降点
markrow4(k)=mar二进制krow3(k)-markro算法剖析的意图是w(k);%峰宽度(上升点至下二进制怎样算降点)
markrow5(k)=markrow3(k)-double(uint16(markrow4(k)/2));%峰中心方位
end
%Step7 核算车牌旋转角度
%(1)在上升点至下降点找第一个为1的点
[m2,n2]=size(sbw1);%sbw1的图画巨细
[m1,n1]=size(markrow4);%markrow4的巨细
maxw=max(markrow4);%最大宽度为字符
if算法 markrow4(1) ~= maxw%检测上边
ysite=1;
k1=1;
for l=1:n2
for k=1:markrow3(ysite)%从顶边至第一个峰下降点扫描
if sbw1(k,l)==1
xdata(k1)二进制怎样算=l;
ydata(k1)=k;
k1=k1+1;
break;
end
end
end
else  %检测下边
ysit算法工程师e=n1;
if markrow4(n1) ==0
i二进制计算器f markrow4(n1-1) ==maxw
ysite= 0; %无下边
else
ys软件商铺ite= n1-1;
end
end
if ysite ~=0
k1=闰土刺猹图片1;
for l=1:n2
k=m2;
while k>=markrow(ysspring面试题ite) %从底边至终究一个峰的上升点扫描
if sbw1(k,l)==1
xdata(k1)=l;
ydata(k1)=k;
k1=k1+1;
break;
end
k=k-1;
end
end
end
end
%(2)线性拟合,核算springboot与x夹角
fresu二进制计算器lt = fit(xdata',ydata','poly1'二进制转化器);   %poly1    Y = p1*x+p人体肠道结构图部位称号2
p1=fresult.p1;
angle=atan软件库(fresult.p1)*180/pi; %弧度换为度,360/springboot常用注解2pi,  pi=3.14
%(3)旋转车牌图象
subcol = imrotate(subcol1,angle,'bilinear','crop'); %旋转车牌图象
sbw = imrotat软件技能是学什么e(sbw1,springmvc的工作原理angle,'bilineartc是什么意思r','crop');%旋转图画
figure,subpspringcloud五大组件lot(2,1,1),imshow(subcol);title('车牌灰度子图');%输出车牌旋转后的灰度图画标题闪现车牌灰度子图
subplot(2,1,2),imshow(sbw);springcloud五大组件title('');%输出车牌旋转后的灰度图画
title(['车牌旋转角: ',num2stspringbootr(angle),''] ,'Color','r');%闪现车牌的旋转角度
%Step8 旋转车牌后从头核算车牌水平投影,去掉车牌水平边框,获取字符高spring是什么意思度
histcol1=sum(sbw); %核算笔直投影
histrow人头攒动的近义词=sum(sbw'); %核算水平投影
figure,subplot(2,1,1),bar(histcol1);title('笔直投二进制转化器影(旋转后)');
subplot(2,1,2),bar(histrow);     title('水平springboot面试题投影(旋转后)');
figure,subplot(2,1,1),bar(histrow);     title('水平投影(旋转后)');
subplot(2,1,2),imshow(sbw);title('车牌二值子图(旋转后)'软件工程就业方向及前景);
%去水平(上下)边框,获取字符高度
ma让天秤倒追的星座xhight=max(markrow2);
findc=find(markrow2==maxhight);
rowtop=maspringboot常用注解rkrow(findc);
rowbot=markrow(findc+1)-markrow1(findc+1);
sbw2=sbw(rowtop:rowbot,:);  %子图为(rowbot-rowto算法p+1)行
maxhight=rowbot-rowtop+1;   %字符高度(rowbot-rowtop+1)
%Step9 核算车牌笔直投影,去掉车牌笔直边框,获取车牌及字符均匀宽度
hspring面试题istcol=sum(s算法的五个特性bw2);  %核算笔直投影
figure,subplot(2,1,1),bar(histcol);二进制亡者列车t人体接受的最大电压itle('笔直投影(去水平边框后)');%输出车牌的笔直投影图画
subplot(2,1,2spring),imshow(sbw2); %输出spring_结构笔直投影图画
title(['人头攒动车牌字符高度: ',in让天秤倒追的星座t2str(软件技能专业maxhight)],'Co闰土刺猹lor','r');%输出车牌字符高度
%对笔直投影进行峰谷剖析
meancol=mean(histcol);%求笔直投影的均匀值
mincol=min(histcol);%求笔直投影的均匀值
levelcol=(meancol+m软件incol)/4;%求笔直投影的1/4
count1=0;
l=1;
for k=1:width
if histcol(k)<=levelcol
count1=count1+1;
else
if count1>=1
markcol(l)=k; %字符上升点
markcol1(l)=count1; %谷宽度(下降点至下一个上升点)
l=l+1;
end
count1=0;
end
end

三、运转作用

【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】【车牌辨认】依据matlab形态学车牌辨认【含Matlab源码 1155期】

四、备注

版别:2014a

发表评论

提供最优质的资源集合

立即查看 了解详情