基于matlab的车牌定位源程序及运行结果 (1)
基于MATLAB的车牌定位算法设计 电子信息工程毕业设计论文
北京联合大学信息学院毕业设计题目:基于MATLAB的车牌定位算法设计姓名:学号:2009080403104学院:信息学院专业:电子信息工程同组人:指导教师:协助指导教师:2011年5月12日摘要车牌自动识别系统是现代智能交通管理的重要组成部分,可用于各级各类车辆管理场所。
与传统的车辆管理方法相比,它大大地提高了管理效率与水平,节省了人力、物力,实现了车辆管理的科学化、规范化,对交通治安起到了一定的保障作用,因此有着广泛的应用前景。
车牌自动识别系统一般包括车牌定位、字符分割和字符识别三个模块。
它的研究主要涉及到模式识别、人工智能、计算机视觉、数字图像处理等众多学科领域。
车牌的定位、分割更是该系统的关键,由于图像场景的复杂性以及车牌位置和图像质量的不可预知性,牌照定位分割系统一直都未做到令人满意,所以有必要对其进行进一步的研究。
本文通过对大量资料的搜集、整理,总结了近年来国内外在车牌定位分割领域的最新研究成果和进展,对车牌区域的固有特征和目前的车牌定位、分割技术进行了分析和比较,提出了自己的观点并设计了一个车牌定位、分割系统。
本文利用MATLAB工具实现车牌定位算法研究。
利用灰度修正.滤波和图像增强等处理方法.较好地消除了图像的噪音,提高了图像质量。
通过对车牌特征的研究,利用边缘扫描方法实现车牌定位。
关键词:车牌定位;倾斜矫正;图像预处理;图像分割AbstractVehicles License Plate Recognition System(LPRS),which is all important part of the contemporary Intelligent Transportation System(ITS),can be applied to vehicle management situations of all levels and all kinds.Compared with traditional vehicles managements,LPRS has greatly improved the efficiency and level of management and saved manpower and material resources,laying a good foundation for the realization of standardized management.We Call safely come to the conclusion that LPRS has already improved the order of the traffic system, illustrating a good prospect of application for us.Generally, the LPR system consists of three modules:license plate location、character segmentation and character recognition.Its study concerns various disciplines including Pattern Recognition、Artificial Intelligence,Computer Vision、Digital Image Processing and SO 011.It is the location and segmentation of license plates standing at the heart of LPR system.Considering that the complexity of image background and the uncertainly of plate position and image quality,it is necessary to do further research into it.By summarizing the latest research achievements and development in the area of license plate location and segmentation both here and abroad,this paper, after making a deep comparison between the intrinsic characteristics of license plate and the current location and segmentation technologies on it,proposes its own understanding and designs a new LP location and segmentation system.The paper introduces a method of car license plate location and realizes a system of car license plate location based on MATLAB.The pre--processing methods including gray level modification,filter and image enhancement,are used to improve image quality and cut image noise.Car license plate location is realized by the method of edge detection and according to the car plate feature.key words:License plate location;Slant correction;Image pre--process ;car Image Segmentation.目录摘要 (1)Abstract (2)引言 (4)一、绪论 (5)1 . 1 、课题的背景和意义 (5)1 . 2、国内外研究状况 (5)1 . 3、车牌识别系统的应用范围 (6)二、系统概述 (9)三、硬件系统设计 (10)3.1、硬件系统设计 (10)3.2、各模块功能 (10)3.3、各模块与DSP的接口设计 (10)3.4.系统原理图和生成的PCB板 (15)四、在MATLAB环境下实现车牌定位的功能 (17)4.1、车牌定位系统介绍 (17)4.2、图像预处理 (17)4.3、灰度化 (18)4.4、图像边缘检测 (20)4.5、形态学处理 (21)4.6、车牌提取 (23)五、结论 (25)问题和不足: (26)不足之处: (27)六、主要参考资料如下: (28)七、致谢 (29)引言随着我国交通运输的不断发展,智能交通系统(Intelligent Traffic System,简称ITS)的推广变的越来越重要,而作为ITS的一个重要组成部分,车辆牌照识别系统(vehicle license plate recognition system,简称LPR)对于交通管理、治安处罚等工作的智能化起着十分重要的作用。
基于某matlab车牌地定位与分割识别程序
基于Matlab的车牌定位与分割经典算法I=imread('car.jpg'); %读取图像figure(); subplot(3,2,1),imshow(I), title('原始图像');I1=rgb2gray(I);%转化为灰度图像subplot(3,2,2),imshow(I1),title('灰度图像');I2=edge(I1,'robert',0.09,'both');%采用robert算子进行边缘检测subplot(3,2,3),imshow(I2),title('边缘检测后图像');se=[1;1;1]; %线型结构元素I3=imerode(I2,se); %腐蚀图像subplot(3,2,4),imshow(I3),title('腐蚀后边缘图像');se=strel('rectangle',[25,25]); 矩形结构元素I4=imclose(I3,se);%图像聚类、填充图像subplot(3,2,5),imshow(I4),title('填充后图像');I5=bwareaopen(I4,2000);%去除聚团灰度值小于2000的部分subplot(3,2,6),imshow(I5),title('形态滤波后图像');[y,x,z]=size(I5);I6=double(I5);Y1=zeros(y,1);for i=1:yfor j=1:xif(I6(i,j,1)==1)Y1(i,1)= Y1(i,1)+1;endendend[temp MaxY]=max(Y1);figure();subplot(3,2,1),plot(0:y-1,Y1),title('行方向像素点灰度值累计和'),xlabel('行值'),ylabel('像素');%求的车牌的行起始位置和终止位置PY1=MaxY;while ((Y1(PY1,1)>=50)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while ((Y1(PY2,1)>=50)&&(PY2<y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);X1=zeros(1,x);for j=1:xfor i=PY1:PY2if(I6(i,j,1)==1)X1(1,j)= X1(1,j)+1;endend endsubplot(3,2,2),plot(0:x-1,X1),title('列方向像素点灰度值累计和'),xlabel('列值'),ylabel('像数');%求的车牌的列起始位置和终止位置PX1=1;while ((X1(1,PX1)<3)&&(PX1<x))PX1=PX1+1;endPX2=x;while ((X1(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX1=PX1-1;PX2=PX2+1;%分割出车牌图像%dw=I(PY1:PY2,PX1:PX2,:);subplot(3,2,3),imshow(dw),title('定位剪切后的彩色车牌图像')4.2 车牌字符分割确定车牌位置后下一步的任务就是进行字符切分分离出车牌号码的全部字符图像。
基于MATLAB的车牌定位系统(含全套CAD图纸)
毕业设计(论文)题目:汽车牌照定位系统设计与开发诚信承诺书本人郑重声明:所呈交的毕业设计(论文)汽车牌照定位系统设计与开发是本人在导师的指导下独立进行研究所取得的成果,其内容除了在毕业设计(论文)中特别加以标注引用,表示致谢的内容外,本毕业设计(论文)不包含任何其他个人、集体已发表或撰写的成果作品。
班级:计科94学号:0921144作者姓名:2013 年5 月25 日无锡太湖学院信机系计算机科学与技术专业毕业设计论文任务书一、题目及专题:1、题目汽车牌照定位系统设计与开发2、专题二、课题来源及选题依据课题来源:导师指定选题依据:汽车车牌识别系统是近几年发展起来的计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一。
在车牌自动识别系统中,首先要将车牌从所获取的图像中分割出来实现车牌定位。
这是进行车牌字符识别的重要步骤,定位的准确与否直接影响车牌识别率。
车辆牌照定位与识别是计算机视觉与模式识别技术在智能交通领域应用的重要研究课题之一,该技术应用范围非常广泛,其中包括:(1)交通流量检测;(2)交通控制与诱导;(3)机场、港口等出入口车辆管理;(4)小区车辆管理;(5)闯红灯等违章车辆监控;(6)不停车自动收费;(7)道口检查站车辆监控;(8)公共停车场安全防盗管理;(9)计算出行时间等。
其潜在在市场应用价值极大,有能力产生巨大的社会效益和经济效益。
三、本设计(论文或其他)应达到的要求:软件、技术要求:在基于图像处理的车牌识别技术的基础上设计并开发了一个基于MATLAB的车牌定位系统通过编写MATLAB文件对各种车辆图像处理方法进行分析、比较,最终确定了车牌预处理、车牌粗定位和精定位的方法。
四、接受任务学生:计科94 班姓名宋开拓五、开始及完成日期:自2012 年11 月12 日至2013年5月25日六、设计(论文)指导(或顾问):指导教师签名签名签名教研室主任〔学科组组长〕签名研究所所长系主任签名2012年11月12日车辆牌照识别系统(vehicle license plate recognition system,简称LPR)是现代智能交通系统中的一项重要研究课题,是实现智能交通的重要环节,涉及领域异常广阔。
基于MATLAB的车牌识别系统的源代码(可以实现)
k=input('Enter the file name:','s');%输入车牌照片im=imread(k);imshow(im);im_gray=rgb2gray(im);im_gray=medfilt2(im_gray,[3,3]);%对图像进行中值滤波Image=im2bw(im_gray,0.2);BW=edge(im_gray,'sobel');%找出图像边缘[imx,imy]=size(BW);%计算图像大小msk=[0 0 0 0 0;0 1 1 1 0;0 1 1 1 0;0 1 1 1 0;0 0 0 0 0;];B0=conv2(double(BW),double(msk));%对边缘区域进行加强se=ones(2,80);B1=imdilate(B0,se);%figure;%imshow(B1);B2=imerode(B1,se);%figure;%imshow(B2);se=ones(20,2);B3=imdilate(B2,se);%figure;imshow(B3);B4=imerode(B3,se);%figure;imshow(B4);se=ones(50,2);B5=imdilate(B4,se);%figure;imshow(B5);B6=imerode(B5,se);%figure;imshow(B6);%对边界图进行小区域连通,使车牌区域连通为一个方块[B,L]=bwboundaries(B6,4);imshow(label2rgb(L,@jet,[.5 .5 .5]))%对连通区域进行标记hold onfor k=1:length(B)%用线条给连通区域标上边界线boundary=B{k};plot(boundary(:,2),boundary(:,1),'w','LineWidth',2)endstats=regionprops(L,'Area','Centroid');%找到每个连通域的质心for k=1:length(B)%循环遍历每个连通域的边界boundary=B{k};%获取一条边界上的所有点delta_sq=diff(boundary).^2;perimeter=sum(sqrt(sum(delta_sq,2)));%计算边界周长area=stats(k).Area;%获取边界所围面积metric=27*area/perimeter^2;%计算匹配度metric_string=sprintf('%2.2f',metric);%要显示的匹配度字串if metric>=0.85&&metric<=1.15&&area>1000%截取出匹配度接近1且面积大于1000像素的连通域centroid=stats(k).Centroid;plot(centroid(1),centroid(2),'ko');%提取该连通域所对应在二值图像中的矩形区域goalboundary=boundary;s=min(goalboundary,[],1);e=max(goalboundary,[],1);goal=imcrop(Image,[s(2) s(1) e(2)-s(2) e(1)-s(1)]);endtext(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','g','FontSize',14,'FontWeight','bold') ;%显示匹配度字串endgoal=~goal;%对截取图像进行反色处理figure;imshow(goal);[a,b]=size(goal);for i=a/2:-1:1 %从图像水平中轴开始向上扫描,当白点数少于每行总点数的1/10时,停止扫描,并将该行定义为车牌字符区域的上限num=0;for j=1:bif goal(i,j)==1num=num+1;endendif num<(b*0.1)line_up=i;break;endendfor i=a/2:a %从图像水平中轴开始向下扫描,当白点数少于每行总点数的1/10时,停止扫描,并将该行定义为车牌字符区域的下限num=0;for j=1:bif goal(i,j)==1num=num+1;endendif num<(b*0.1)line_down=i;break;endendgoal=goal(line_up:line_down,1:b);%根据之前定义的上下限截取车牌字符区域figure;imshow(goal);%显示车牌字符区域[a,b]=size(goal);row=zeros(18);now=1;flag=0;for j=1:b %对截取出的字符区域进行竖列扫描,并取每列总点数的1/10作为阈值点,当每列的白点数从阈值以上掉落到阈值以下或从阈值以下上升到阈值以上时,记录该列的横坐标num=0;for i=1:aif goal(i,j)==1num=num+1;endendif flag==0if num<0.1*arow(now)=j;now=now+1;flag=1;endelseif num>0.1*arow(now)=j;now=now+1;flag=0;endendendif row(3)-row(2)>10 %判断扫描出的第二块区域(扫描到的第二列与第三列之间)是否包含有效字符,如包含,则将扫描到的第二列定义为字符分割的起始列;否则,则定义第一列为起始列now=2;elsenow=1;endfigure;l1=0;l2=0;for k=1:8m=row(now);n=row(now+1);temp=goal(1:a,m:n);point=0;%扫描每一个字符图片的白点数for i=1:afor j=1:n-mif temp(i,j)==1point=point+1;endendendif point>0.4*a*(n-m)&&n>m %当扫描到的白点数小于总点数的2/5时放弃输出(有可能是车牌上的点状分隔符)l2=l2+1;%l2用来记录识别出的字符数subplot(1,7,l2);x(k)=code(temp);%调用子程序进行字符扫描,并返回字符的ASCII码x(k)=uint8(x(k));if x(k)>0 %当所选区域不为空时进行输出l1=l1+1;%l1用来记录输出的字符数s(l1)=char(x(k));endtemp(32,32)=0;imshow(temp);endnow=now+2;endy=char(s);%将得到的ASCII码重新转换为字符并在屏幕上输出fprintf('\r\n该车辆的车牌号为:\r\n');disp(y);fprintf('\r\n输出的字符数为:%4d\r\n',l1);fprintf('识别出的字符数为:%4d\r\n',l2);。
基于MATLAB的车牌识别程序详解..精要
(1)车牌区域内字符的纹理特征。 (2)车牌的格式标准和字符标准信息。 (3)车牌区域水平或者垂直投影特征。 (4)车牌区域的位置特点。 (5)车牌的彩色信息。 (6)频谱特征。
处理方法主要分为两大块:行定位与列定位。具体方法如下: 获取特征图像 要想从一整幅包括车身,背景等其他相对于车牌来说属于干扰因素
相关的MATLAB 指令: h=fspecial(‘average’,3); ;%平均值的设定 d=im2bw(round(filter2(h,d)));%平均滤波
(四)、图像的边缘检测:
边缘是图像的最本特征,边缘检测在计算机视觉、图像分析等应 用中起着重要的作用,使图像识别与分析的重要环节。边缘存在于 目标与背景、目标与目标、区域与区域之间因此它是图像分割、形 状特征、纹理特征的基础。缘具有方向与幅度两个特征。沿边缘走 向,像素变化比较平缓。而垂直于边缘走向,则像素变化剧烈。这 种剧烈可能呈现阶跃状,也可能呈现斜坡状。边缘的上的像素的一 阶导数较大; 二阶导数在边缘检测处值为零,呈现零交叉。这种特 点使得边缘检测可以利用数学方法获得,经典的边缘检测算子有 Roberts、Sobel、Prewitt、LoG、Canny算子。
(一)图像预处理 收集到的图片一般为彩色图片,由于彩色图片占用存储容
量大,处理时间长,因此需要对图像进行灰度转换,将彩色图像转 换为灰度图像,灰度图像只保留亮度信息,方便使用,也为后面的 对图像进行二值化处理提供方便。
(完整word版)基于Matlab的车牌识别实现源码
(完整word版)基于Matlab的车牌识别实现源码function[]=main(jpg)close allclctic %测定算法执行的时间[fn,pn]=uigetfile('timg1,jpg','选择图片') %读入图片I=imread([pn,fn]);figure,imshow(I);title('原始图像'); %显示原始图像Im1=rgb2gray(I);figure(2),subplot(1,2,1),imshow(Im1);title('灰度图');figure(2),subplot(1,2,2),imhist(Im1);title('灰度图的直方图'); %显示图像的直方图Tiao=imadjust(Im1,[0.19,0.78],[0,1]); %调整图片figure(3),subplot(1,2,1),imshow(Tiao);title('增强灰度图');figure(3),subplot(1,2,2),imhist(Tiao);title('增强灰度图的直方图');Im2=edge(Tiao,'Roberts','both'); %使用sobel算子进行边缘检测figure(4),imshow(Im2);title('sobel算子实现边缘检测')se=[1;1;1];Im3=imerode(Im2,se);figure(5),imshow(Im3);se=strel('square',40);%'rectangle',[25,25]/'diamond',25/Im4=imclose(Im3,se);figure(6),imshow(Im4);title('平滑图像的轮廓');Im5=bwareaopen(Im4,1500);figure(7),imshow(Im5);title('移除小对象');[y,x,z]=size(Im5); %返回Im5各维的尺寸,并存储在变量y、x、z中Im6=double(Im5); %将Im5换成双精度数值%开始横向扫描tic %tic计时开始,toc结束,计算tic与toc之间程序的运行时间Blue_y=zeros(y,1); %产生y*1的全0矩阵for i=1:y %逐行扫描for j=1:xif(Im6(i,j,1)==1)%如果Im6图像中坐标为(i,j)的点值为1,即为移除小对象的白色区域,Blue_y(i,1)= Blue_y(i,1)+1;%则y*1列矩阵的相应像素点的元素值加1,endendend[temp MaxY]=max(Blue_y);%temp为向量Blue_y的矩阵中的最大值,MaxY为该值的索引(最大值在向量中的位置)%返回包含最大元素的列,即白色区域最宽的列%Y方向车牌区域确定figure(8),subplot(1,2,1),plot(0:y-1,Blue_y),title('行方向白色像素点累计'),xlabel('行数'),ylabel('个数');PY1=MaxY;while ((Blue_y(PY1,1)>=120)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while ((Blue_y(PY2,1)>=40)&&(PY2<y))< p="">PY2=PY2+1;IY=I(PY1:PY2,:,:);%IY为原始图像I中截取的纵坐标在PY1:PY2之间的部分%横向扫描完成,开始纵向扫描Blue_x=zeros(1,x);%进一步确定x方向的车牌区域for j=1:x %逐列扫描for i=PY1:PY2if(Im6(i,j,1)==1)Blue_x(1,j)= Blue_x(1,j)+1; %根据Im5的x值确定endendendfigure(8),subplot(1,2,2),plot(0:x-1,Blue_x),title('列方向白色像素点累计'),xlabel('列数'),ylabel('个数'); PX1=1;while ((Blue_x(1,PX1)<3)&&(PX1<x))< p="">PX1=PX1+1;endPX2=x;while ((Blue_x(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;end%end纵向扫描PX1=PX1-2;%对车牌区域的校正PX2=PX2+2;dw=I(PY1:PY2,PX1:PX2,:);t=toc;figure(9),subplot(1,2,1),imshow(IY),title('垂直方向合理区域');figure(9),subplot(1,2,2),imshow(dw),title('定位剪切后的彩色车牌图像') imwrite(dw,'dw.jpg'); %将图像写入图形文件中a=imread('dw.jpg');b=rgb2gray(a);imwrite(b,'车牌灰度图像.jpg');figure(10);subplot(3,2,1),imshow(b),title('1.车牌灰度图像')g_max=double(max(max(b)));g_min=double(min(min(b)));T=round(g_max-(g_max-g_min)/3); %T为设定的二值化的阈值,返回一个四舍五入的整数值[m,n]=size(b);d=(double(b)>=T); %d为二值图像imwrite(d,'车牌二值图像.jpg');figure(10);subplot(3,2,2),imshow(d),title('2.车牌二值图像')figure(10),subplot(3,2,3),imshow(d),title('3.均值滤波前')h=fspecial('average',3);%建立预定义的滤波算子,average为均值滤波,模板尺寸为3*3d=imbinarize(round(filter2(h,d))); %im2bw,使用指定的滤波器h对h进行d即均值滤波imwrite(d,'均值滤波后.jpg');figure(10),subplot(3,2,4),imshow(d),title('4.均值滤波后')se=eye(2);%单位矩阵[m,n]=size(d); %d为二值图像,返回信息矩阵if bwarea(d)/m/n>=0.365%二值图像中对象的总面积与整个面积的比大于0.365d=imerode(d,se);%进行腐蚀elseif bwarea(d)/m/n<=0.235%二值图像中对象的总面积与整个面积的比值小于0.235 d=imdilate(d,se);%进行膨胀endimwrite(d,'膨胀或腐蚀处理后.jpg');figure(10),subplot(3,2,5),imshow(d),title('5.膨胀或腐蚀处理后.jpg')d=qiege(d); %切割,寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割k1=1;k2=1;s=sum(d);j=1;while j~=nwhile s(j)==0j=j+1;endk1=j;while s(j)~=0 && j<=n-1j=j+1;endk2=j-1;if k2-k1>=round(n/6.5)[val,num]=min(sum(d(:,[k1+5:k2-5])));d(:,k1+num+5)=0;endendd=qiege(d);y1=10;y2=0.25;flag=0;word1=[];while flag==0[m,n]=size(d);wide=0;while sum(d(:,wide+1))~=0 %扫过的地方不全为黑色,向右移动,直到不是停止wide=wide+1;endif wide<="" p="">d(:,[1:wide])=0;%将此片区域全部转化为黑色,d=qiege(d);%重新切割elsetemp=qiege(imcrop(d,[1 1 wide m]));%返回已经切割好的区域[m,n]=size(temp);all=sum(sum(temp));%统计切割区域所有元素two_thirds=sum(sum(temp([round(m/3):2*round(m/3)],:)));%统计切割区域1/3至2/3行所有元素if two_thirds/all>y2 flag=1;word1=temp;endd(:,[1:wide])=0;d=qiege(d);end[word2,d]=getword(d); %分割出第二个字符[word3,d]=getword(d); %分割出第三个字符[word4,d]=getword(d); %分割出第四个字符[word5,d]=getword(d); %分割出第五个字符[word6,d]=getword(d); %分割出第六个字符[word7,d]=getword(d); %分割出第七个字符word1=imresize(word1,[40 20]);%模板字符大小统一为40*20,为字符辨认做准备word2=imresize(word2,[40 20]);word3=imresize(word3,[40 20]);word4=imresize(word4,[40 20]);word5=imresize(word5,[40 20]);word6=imresize(word6,[40 20]);word7=imresize(word7,[40 20]);figure(11);subplot(2,7,1),imshow(word1),title('1');subplot(2,7,2),imshow(word2),title('2');subplot(2,7,3),imshow(word3),title('3');subplot(2,7,4),imshow(word4),title('4');subplot(2,7,5),imshow(word5),title('5');subplot(2,7,6),imshow(word6),title('6');subplot(2,7,7),imshow(word7),title('7');imwrite(word1,'1.jpg');imwrite(word2,'2.jpg');imwrite(word3,'3.jpg');imwrite(word4,'4.jpg');imwrite(word5,'5.jpg');imwrite(word6,'6.jpg');imwrite(word7,'7.jpg');liccode=char(['0':'9' 'A':'Z' '辽粤豫鄂鲁陕京津苏浙']);%建立自动识别字符代码表,将t'0':'9' 'A':'Z' '鲁陕苏豫'多个字符串组成一个字符数组,每行对应一个字符串,字符数不足的自动补空格SubBw2=zeros(40,20);%40*20的零矩阵l=1;ii=int2str(I);%整型转换字符串t=imread([ii,'.jpg']);SegBw2=imresize(t,[40 20],'nearest');%改变图片的大小SegBw2=double(SegBw2)>50;%将灰度图转化为二值图像,double产生0-255的灰度值if l==1 %第一位汉字识别kmin=37;kmax=46;%模板中汉字所在的位置elseif l==2 %第二位字母识别kmin=11;kmax=36;%A-Z字母位置elsel>=3 %第三位后字母或数字识别kmin=1;kmax=36;endfor k2=kmin:kmaxfname=strcat('字符模板\',liccode(k2),'.jpg');SamBw2=imread(fname);SamBw2=double(SamBw2)>50;%将模板转换为二值图,double产生0-255的灰度值for i=1:40for j=1:20SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j);endend%相当于两幅图相减得第三幅图Dmax=0;for k1=1:40for l1=1:20if abs(SubBw2(k1,l1))>0Dmax=Dmax+1;endendendError(k2)=Dmax;endError1=Error(kmin:kmax);%模板对应的字符模板进行匹配选择findc=find(Error1==MinError);Code(l*2-1)=liccode(findc(1)+kmin-1);Code(l*2)=' ';l=l+1;endmsgbox(Code,'识别结果')function [word,result]=getword(d) %定义分割字符用函数(1)word=[];flag=0;y1=8;y2=0.5;while flag==0[m,n]=size(d);wide=0;while sum(d(:,wide+1))~=0 && wide<=n-2wide=wide+1;endtemp=imcrop(d,[1 1 wide m]);%用于返回图像的一个裁剪区域[m1,n1]=size(temp);z=sum(temp,2);count=0;for i=1:m1if z(i)~=0count=count+1;endendif count<="" p="">d(:,[1,wide])=0;d=qiege(d);elsetemp=qiege(imcrop(d,[1 1 wide m]));%用于返回图像的一个裁剪区域[m1,n1]=size(temp);if widey2 %宽度过小,或长大于宽的两倍d(:,[1,wide])=0;if sum(sum(d))~=0 %d中所有元素之和d=qiege(d);%切割出最小范围elseword=[];flag=1;endword=qiege(imcrop(d,[1 1 wide m]));%划分出的temp进行切割d(:,[1:wide])=0;%切割完后该区域变为黑色if sum(sum(d))~=0d=qiege(d);flag=1;elsed=[];endendendendresult=d;function e=qiege(d) %定义分割字符用函数(2)[m,n]=size(d);top=1;bottom=m;left=1;right=n; %intewhile sum(d(top,:))==0 && top<=mtop=top+1;endwhile sum(d(bottom,:))==0 && bottom>=1 bottom=bottom-1;endwhile sum(d(:,left))==0 && left<=nleft=left+1;endwhile sum(d(:,right))==0 && right>=1right=right-1;enddd=right-left;hh=bottom-top;e=imcrop(d,[left top dd hh]);//字符实别需要字符图库,没有对照图库是识别不了的</x))<></y))<>。
基于matlab的车牌识别算法
基于Matlab的车牌识别算法摘要车牌系统是计算机视觉和模式识别技术在智能交通领域的重要应用课题之一。
车牌识别系统是以特定目标为对象的专用计算机系统,该系统主要包括三个内容:车牌定位、字符分割和字符识别。
其中车牌定位的目的就是从所拍摄的汽车图像中确定车牌的位置,从而便于后续的字符分割和字符识别工作。
目前常用的方法有:基于模板匹配的方法、基于特征的方法和神经网络法等。
本设计采用基于模板匹配算法和基于人工神经网络算法对车牌进行定位识别,此算法只对蓝底白字车牌进行分割识别,对黑底白字车牌原则上整个算法可直接适用,。
此算法分割出的图像像素值和模板图像达到了一致,由此便避免了切割出的图像像素值不一致所带来的问题。
但对白底黑字车牌、黄底黑字车牌,需要对车牌定位算法进行调整,并将图像反转(0变1、1变0)。
关键词:车牌识别系统;字符分割;车牌定位LICENSE PLATE RECOGNITION ALGORITHM BASEDON MATLABABSTRACTLicense plate system is a computer vision and pattern recognition technology in one of the important application research topic in the field of intelligent transportation. License plate recognition system based on specific goals of a special computer system, the system mainly includes three contents: license plate locating, character segmentation and character recognition. One of the purpose of license plate location is taken from the auto locate the license plate in the image, so as to facilitate the subsequent work character segmentation and character recognition. Now commonly used methods are: based on template matching method, based on the characteristics of the method and neural network, etc.This design USES based on template matching algorithm and based on artificial neural network algorithm to locate license plate recognition, the algorithm is only for blue white license plate segmentation recognition, the algorithm can be directly applicable in principle to the black white plate,. This algorithm to segment the image pixel values and template image, thus to avoid the cut out in the process of image pixel values are not consistent. But black on white background and black text plate, yellow bottom plate, adjustments need to license plate localization algorithm, and the image inversion of (0, 1, 1, 0).Key words: license plate recognition system; Character segmentation; License plate location目录1 前言 (4)1.1车牌号识别研究背景 (4)1.2 车牌号识别技术研究现状和趋势 (5)1.2.1国内外车牌识别技术情况及我国车牌特点 (5)1.2.2车牌识别技术的应用前景 (6)1.3 车牌识别研究内容 (7)2 车牌识别系统设计原理概述 (9)3 车牌识别系统程序设计 (11)3.1图像读取及车牌区域提取 (11)3.1.1图像灰度图转化 (11)3.1.2图像的边缘检测 (13)3.1.3灰度图腐蚀 (14)3.1.4图像平滑处理 (15)3.1.5移除小对象 (16)3.1.6车牌区域的边界值计算 (17)3.2字符切割 (18)3.2.1字符切割前的图像去噪处理 (18)3.2.2字符切割前的图像膨胀和腐蚀处理 (19)3.2.3字符切割 (19)3.3字符识别 (22)3.3.1字符识别方法选择 (22)3.3.2字符归一化 (22)3.3.3字符匹配识别 (23)4 仿真结果及分析 (26)4.1 车牌定位及图像读取及其图像处理 (26)4.2 车牌字符分割及其图像处理 (26)5 结论 (28)参考文献 (29)致谢............................................... 错误!未定义书签。
基于matlab的蓝色车牌定位与识别---定位
基于matlab的蓝⾊车牌定位与识别---定位接着昨天的⼯作继续。
定位的过程有些是基于车牌的颜⾊进⾏定位的,⾃⼰则根据数字图像⼀些形态学的⽅法进⾏定位的。
合着代码进⾏相关讲解。
1.相对彩⾊图像进⾏灰度化,然后对图像进⾏开运算。
再⽤⼩波变换获取图像的三个分量。
考虑到车牌的竖直分量较为丰富,选⽤竖直分量进⾏后续操作。
注意下,这⾥的⼀些参数可能和你的图⽚⼤⼩有关,所以要根据实际情况调整。
Image=imread('D:\1_2学习\图像处理\车牌识别\matlab_car_plate-recognization\car_example\car0.jpg');%获取图⽚im=double(rgb2gray(Image));im=imresize(im,[1024,2048]);%重新设置图⽚⼤⼩ [1024,2048]% % 灰度拉伸% % im=imadjust(Image,[0.150.9],[]);s=strel('disk',10);%strei函数Bgray=imopen(im,s);%打开sgray s图像% % figure,imshow(Bgray);title('背景图像');%输出背景图像% %⽤原始图像与背景图像作减法,增强图像im=imsubtract(im,Bgray);%两幅图相减% figure,imshow(mat2gray(im));title('增强⿊⽩图像');%输出⿊⽩图像[Lo_D,Hi_D]=wfilters('db2','d'); % d Decomposition filters[C,S]= wavedec2(im,1,Lo_D,Hi_D); %Lo_D is the decomposition low-pass filter% decomposition vector C corresponding bookkeeping matrix Sisize=prod(S(1,:));%元素连乘%cA = C(1:isize);%cA 49152cH = C(isize+(1:isize));cV = C(2*isize+(1:isize));cD = C(3*isize+(1:isize));%cA = reshape(cA,S(1,1),S(1,2));cH = reshape(cH,S(2,1),S(2,2));cV = reshape(cV,S(2,1),S(2,2));cD = reshape(cD,S(2,1),S(2,2));获取结果2. 对上⾯过程中获取的图像进⾏边沿竖直⽅向检测,再利⽤形态学的开闭运算扩⼤每个竖直⽅向⽐较丰富的区域。
《2024年基于MATLAB的车牌识别系统研究》范文
《基于MATLAB的车牌识别系统研究》篇一一、引言车牌识别系统是现代智能交通系统的重要组成部分,具有广泛的应用前景。
本文将详细探讨基于MATLAB的车牌识别系统的研究,从算法设计到实验结果,全方位地分析系统的性能与特点。
二、车牌识别系统概述车牌识别系统主要通过图像处理和计算机视觉技术,对道路上的车牌进行自动识别。
系统主要包括图像预处理、车牌定位、字符分割和字符识别等几个关键步骤。
基于MATLAB的车牌识别系统,利用其强大的图像处理和矩阵运算能力,为车牌识别提供了有效的技术支持。
三、系统设计1. 图像预处理图像预处理是车牌识别系统的第一步,主要目的是消除图像中的噪声、增强车牌信息、改善图像质量等。
在MATLAB中,可以通过灰度化、滤波、二值化等操作,对图像进行预处理。
2. 车牌定位车牌定位是车牌识别系统的关键步骤之一,主要利用图像处理技术,从整个图像中提取出车牌区域。
常用的车牌定位方法包括投影法、边缘检测法、模板匹配法等。
在MATLAB中,可以通过这些方法实现车牌的快速定位。
3. 字符分割与识别字符分割与识别是车牌识别的核心步骤,主要将定位后的车牌图像中的字符进行分割,并识别出每个字符的具体内容。
在MATLAB中,可以通过连通域分析、投影分析等方法实现字符的分割与识别。
四、实验结果与分析为了验证基于MATLAB的车牌识别系统的性能,我们进行了大量的实验。
实验结果表明,该系统在各种光照条件、不同角度、不同颜色的车牌下均能实现较高的识别率。
同时,该系统还具有实时性高、鲁棒性强等优点。
在实验过程中,我们还对系统的各个步骤进行了详细的分析。
通过调整图像预处理的参数、优化车牌定位算法、改进字符分割与识别的方法等手段,不断提高系统的性能。
最终,我们得到了一个具有较高识别率的车牌识别系统。
五、结论本文研究了基于MATLAB的车牌识别系统,从算法设计到实验结果进行了全面的分析。
实验结果表明,该系统具有较高的识别率、实时性和鲁棒性等优点,能够满足实际需求。
基于matlab的汽车牌照识别程序
基于matlab的汽车牌照识别程序基于matlab的汽车牌照识别程序摘要:本次作业的任务是设计一个基于matlab的汽车牌照识别程序,能够实现车牌图像预处理,车牌定位,字符分割,然后通过神经网络对车牌进行字符识别,最终从一幅图像中提取车牌中的字母和数字,给出文本形式的车牌号码。
关键词:车牌识别,matlab,神经网络1 引言随着我国交通运输的不断发展,智能交通系统(Intelligent Traffic System,简称ITS)的推广变的越来越重要,而作为ITS的一个重要组成部分,车辆牌照识别系统(vehicle license plate recognition system,简称LPR)对于交通管理、治安处罚等工作的智能化起着十分重要的作用。
它可广泛应用于交通流量检测,交通控制于诱导,机场,港口,小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。
由于牌照是机动车辆管理的唯一标识符号,因此,车辆牌照识别系统的研究在机动车管理方面具有十分重要的实际意义。
2 车辆牌照识别系统工作原理车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。
3 车辆牌照识别系统组成(1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。
(2)车牌定位:从预处理后的汽车图像中分割出车牌图像。
即在一幅车辆图像中找到车牌所在的位置。
(3)字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像(4)字符识别:对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌号码。
毕业设计论文-基于matlab的车牌识别系统的设计(附程序+详解注释)
毕业设计(论文)说明书
作 者:
学 号:
学院(系):
信息工程学院
专 业:
通信技术
题 目: 基于 matlab 的车牌识别系统的设计
主 题:
指导教师:
职称 讲师
2012 年 12 月
焦作大学毕业设计说明书
II
摘要
汽车车牌的识别系统是现代智能交通管理的重要组成部分之一。车牌识别 系统使车辆管理更智能化,数字化,有效的提升了交通管理的方便性和有效性。 车牌识别系统主要包括了图像采集、图像预处理、车牌定位、字符分割、字符识 别等五大核心部分。本文主要介绍图像预处理、车牌定位、字符分割三个模块的 实现方法。本文的图像预处理模块是将图像灰度化和用 Roberts 算子进行边缘检 测的步骤。车牌定位和分割采用的是利用数学形态法来确定车牌位置,再利用车 牌彩色信息的彩色分割法来完成车牌部位分割。字符的分割采用的方法是以二值 化后的车牌部分进行垂直投影,然后在对垂直投影进行扫描,从而完成字符的分 割。本文即是针对其核心部分进行阐述并使用 MATLAB 软件环境中进行字符分割 的仿真实验。
5.实验结果和分析.............................................................................................................22 6.实验总结.........................................................................................................................24 致谢.......................................................................................................................................25 参考文献...............................................................................................................................26 程序附录...............................................................................................................................27
基于MATLAB的车牌识别毕业设计.doc
基于MATLAB的车牌识别研究摘要汽车牌照自动识别系统是近几年发展起来的计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一。
在车牌自动识别系统中,首先要将车牌从所获得的图像中分割出来,这是进行车牌字符识别的重要步骤,定位准确与否直接影响车牌识别率。
本次毕业设计首先对车牌识别系统的现状和已有的技术进行深入的研究,在研究的基础上开发出一个基于MATLAB的车牌识别系统,通过编写M文件,对各种车辆图像处理方法进行分析、比较,提出了车牌预处理、车牌粗定位何静定位的方法。
本次设计采取的是基于边缘检测,先从经过边缘提取后的车辆图像中提取车牌特征,进行分析处理,从而初步定出车牌的区域,再利用车牌的先验知识和分布特征对车牌区域二值化图像进行处理,从而得到车牌的精确区域,并且取得了较好的定位结果。
关键词:识别率车牌定位二值化边缘检测AbstractThe subject of the automatic recognition of the most significant subiects that are improved from the connection of computer vision and pattren recognition .In LPSR ,the first step is for locating the license plate in the captured image which is very important for character recognition .The recognition correction rate of license plate is goverment by accurate degree of license plate location .The graduation project first in-depth study on the status of the license plate recognition systems and existing technology, on the basis of the study developed a matlab-based license plate recognition system, a variety of vehicles, image processing, through the preparation of the M-fileanalysis of the proposed license plate pretreatment, the positioning of the coarse license plate positioning Jing. The design is taken based on edge detection, start to extract the license plate characteristics after the vehicle image edge extraction, analysis and processing, which initially identified the license plate area, then use the prior knowledge and distribution characteristics of the license plate plate region binary image processing, resulting in a precise area of the license plate, and has made good positioning results.Key words: Recognition rate Location of the plate binary imageChecked up for the edge目录摘要 (1)前言 (4)第一章绪论 (5)1.1、课题研究背景和意义 (5)1.2、国内外研究概况及发展趋势 (6)1.3车牌定位的意义 (7)第二章MA TLAB简介 (8)2.1.MA TLAB发展历史 (8)2.2MA TLAB的语言特点 (9)第三章车牌定位 (11)3.1 车牌定位的主要方法 (11)3.1.1 基于直线检测的方法 (11)3.1.2 基于阈值化方法 (12)3.1.3 基于灰度边缘检测方法 (12)3.1.4 基于彩色图像的车牌定位方法 (13)3.2研究内容及实验方案 (14)3.2.1研究内容 (14)3.2.2 车牌识别系统研究的方案和方法 (14)3.3 图像的读取 (15)3.4 预处理及边缘提取 (17)3.4.1 图象的采集与转换 (17)3.4.2 图像预处理 (17)3.4.3 图像增强 (18)3.4.4灰度变换 (18)3.4.5 图象平滑的介绍 (20)3.4.6边缘检测 (21)3.4.7图像的腐蚀 (22)3.5 牌照的定位和分割 (23)3.5.1 牌照区域的定位和分割 (24)3.5.2 牌照区域的分割 (24)3.5.3车牌进一步处理 (24)3.6 图像边缘提取及二值化 (25)3.7 形态学滤波 (29)3.8 车牌提取 (31)第四章字符的分割与识别 (32)4.1 字符分割与归一化 (32)4.2 字符的识别 (33)总结和体会 (36)谢辞 (37)前言随着交通问题的日益严重,智能交通系统应运而生。
毕业设计论文基于matlab的车牌识别系统的设计(附程序+详解注释)
车牌号识别系统是基于图像处理技术的基础进行研究的。本课题图像处理分为以下几方面:
1.图像数字化
其目的是将模拟形式的图像通过数字化设备变为数字计算机可用的离散的图像数据。
2.图像变换
为了达到某种目的而对图像使用一种数学技巧,经过变换后的图像更为方便、容易地处理和操作。
3.图像增强
图像增强的主要目标是改善图像的质量。采用某些处理技术来突出图像中的某些信息,削弱或消除某些无关信息,从而有目的地强调图像的整体或局部特征,让观察者能看到更加直接、清晰的分析和处理图像。直方图修正、灰度变换、强化图像轮廓等都是常用的手段。
车牌识别系统是一项科技含量很高的多种技术结合的产品,主要有计算机视觉、数字图像处理、数字视频处理、模式识别等技术组成。也是智能交通系统的核心技术,产生于60年代。在80年代,由于城市交通问题日益严重,美国和欧洲许多国家投入了大量的人力和物力,建立了自动化高速公路网,安装了摄像、雷达探测系统和光纤网络,简历智能交通系统。在美国、欧洲、日本等发达国家的带动下,世界各国也开始简历智能交通系统。由于公路车流量日益增大、道路交通日益拥挤,车辆管理相对越来越困难,因此各个发达国家和发展中国家都在积极建设适应未来交通运输需求的智能交通系统。
焦作大学
毕业设计(论文)说明书
作者:学号:
学院(系):信息工程学院
基于matlab的汽车牌照识别源程序
基于matlab的车牌识别的源程序clcclearfilename='E:\matlab7.0\car.jpg';%图片的路径I=im2gray(filename);%调用自编函数读取图像,并转化为灰度图象;tic%计时开始[height,width]=size(I);%预处理I_edge=zeros(height,width);%创建height*width矩阵for i=1:width-1%对每一列进行遍历I_edge(:,i)=abs(I(:,i+1)-I(:,i));%每列的值赋为原图像中左右两列相减的绝对值(即梯度)end%归一化处理(0~255)I_edge=(255/(max(max(I_edge))-min(min(I_edge))))*(I_edge-min(min(I_edge)));[I_edge,y1]=select(I_edge,height,width);%%%%%%调用select函数选择图像的某个区域BW2 = I_edge;%%%%%%%%%%%%%%%%%一些形态学处理SE=strel('rectangle',[10,10]);%创建10*10的建构元素IM2=imerode(BW2,SE);%腐蚀IM2=bwareaopen(IM2,20);%删除小面积IM3=imdilate(IM2,SE);%膨胀%先腐蚀再膨胀,进行了开运算,消除小物体%%%%%%%%%%%%%%%%%%投影以粗略估计车牌位置p_h=projection(double(IM3),'h');%调用projection函数,水平方向if(p_h (1)>0)p_h=[0,p_h];endp_v=projection(double(IM3),'v');%调用projection函数,垂直方向if(p_v (1)>0)p_v=[0,p_v];end%%%%%%p_h=double((p_h>5));%水平方向p_h=find(((p_h(1:end-1)-p_h(2:end))~=0));len_h=length(p_h)/2;%%%%%p_v=double((p_v>5));%垂直方向p_v=find(((p_v(1:end-1)-p_v(2:end))~=0));len_v=length(p_v)/2;%%%%%%%%%%% %%%%%%%%%%%%%%%%%粗略计算车牌候选区k=1;for i=1:len_hfor j=1:len_vs=IM3(p_h(2*i-1):p_h(2*i),p_v(2*j-1):p_v(2*j));if(mean(mean(s))>0.1)p{k}=[p_h(2*i-1),p_h(2*i)+1,p_v(2*j-1),p_v(2*j)+1];k=k+1;endendendk=k-1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%进一步缩小车牌候选区for i=1:kedge_IM3=double(edge(double(IM3(p{i}(1):p{i}(2),p{i}(3):p{i}(4))),'canny'));[x,y]=find(edge_IM3==1); p{i}=[p{i}(1)+min(x),p{i}(2)-(p{i}(2)-p{i}(1)+1-max(x)),...p{i}(3)+min(y),p{i}(4)-(p{i}(4)-p{i}(3)+1-max(y))];p_center{i}=[fix((p{i}(1)+p{i}(2))/2),fix((p{i}(3)+p{i}(4))/2)];p_ratio(i)=(p{i}(4)-p{i}(3))/(p{i}(2)-p{i}(1));end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%对上面参数和变量的说明:p为一胞元,用于存放每个图像块的左上和右下两个点的坐标;%存放格式为:p{k}=[x1,x2,y1,y2];x1,x2分别为行坐标,y1,y2为列坐标%p_center为一胞元,用于存放每个图像块的中心坐标,p_center{k}=[x,y];x,y分别为行,列坐标%p_ratio为一矩阵,用来存放图像块的长宽比例%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%合并临近区域%%%%%%%%如果有多个区域则执行合并if k>1n=0;ncount=zeros(1,k);for i=1:k-1%%%需要调整if条件中的比例%%%需要调整%检查是否满足合并条件if(abs(p{i}(1)+p{i}(2)-p{i+1}(1)-p{i+1}(2))<=height/30&&abs(p{i+1}(3)-p{i}(4))<=width/15)p{i+1}(1)=min(p{i}(1),p{i+1}(1));p{i+1}(2)=max(p{i}(2),p{i+1}(2));p{i+1}(3)=min(p{i}(3),p{i+1}(3));(4)=max(p{i}(4),p{i+1}(4));%向后合并n=n+1;ncount(n)=i+1;endend%如果有合并,求出合并后最终区域if(n>0)d_ncount=ncount(2:n+1)-ncount(1:n);%避免重复记录临近的多个区域。
实验报告用MATLAB实现车牌识别系统
图像处置大作业实验报告--用MATLAB实现车牌识别系统作者东南大学电子系李浩翔 06006435指导教师张雄实验日期 2020-1-10索引:1.2.3.4.5.6.1.2.1.2.实验目的利用MATLAB对包括车牌的图片进行处置,利用算法识别出车牌所在的区域,并识别其数字及字母,最后在屏幕上输出所识别出的车牌号。
实验原理1.将拍照下的彩色图像转换为灰度图,以后用中值滤波对灰度图像进行预处置,从而减少干扰信息。
2.利用sobel算子识别出图像的边缘,并转化为二值化图像。
并对二值化以后的图像进行卷积,增强边缘的轮廓。
3.用膨胀-再侵蚀的方式别离作用于图像的横轴与纵轴,将小块的联通区域连接起来,使车牌的形状加倍清楚,为下一步的识别做好预备。
4.利用车牌长宽比的特性对各个联通区域进行判定,识别出车牌所在区域,并截取。
5.对截掏出的车牌区域进行进一步的处置,分割出各个字符。
6.对分割出的字符进行特点判定,从而识别出具体的车牌号。
实验步骤1.预处置A. 将拍照下的彩色图像转换为灰度图,便于进行接下来的算法处置。
图1 拍摄下的图片图2 转换的灰度图B.对灰度图进行中值滤波,减少干扰点对二值化运算结果的阻碍。
im_gray=medfilt2(im_gray,[3 3]);图3 进行中值滤波后的灰度图C.将中值滤波后的灰度图用设定门限灰度的方式(取门限值为转化为二值化图像,在后继的车牌区域截取运算中作为源图像利用。
Image = im2bw(im_gray, ;图4 使用设定灰度门限的方法获得的二值化图像2.边缘识别A.利用sobel算子识别出图3中的边缘区域,并将其转换为二值化图像。
在转换后的二值化图像中,边缘区域被作为白点标出,而非边缘区域被黑色区域覆盖。
BW = edge(im_gray,'sobel');图5 识别出的边缘区域B.利用卷积的方式,对图5的边缘区域进行增强,为下一步的运算做好预备。
基于MATLAB的车牌识别系统的实现
基于MATLAB的车牌识别系统的实现1 引言车辆牌照是机动车唯一的管理标识符号,在交通管理中具有不可替代的作用,因此车辆牌照识别系统应具有很高的识别率,对环境光照条件、拍摄位置和车辆行驶速度等因素的影响应有较大的容阈,并应满足实时性要求。
牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术,其硬件一般包括触发、摄像、照明、图像采集等设备,其软件核心包括车牌定位、车牌字符分割和字符识别等算法。
2 系统的实现2.1 系统简述一个完整的牌照识别系统应包括车辆检测、图像采集、图像预处理、车牌定位、字符分割、字符识别等单元。
当车辆到达触发图像采集单元时,系统采集当前的视频图像,牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。
牌照识别系统原理如图1所示。
2.2 图像预处理输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,常将彩色图像转换为灰度图像,以加快处理速度。
对图像进行灰度化处理、提取背景图像、增强处理、图像二值化、边缘检测、滤波等处理的主要MATLAB语句如下所示:2.3 车牌定位自然环境下,汽车图像背景复杂,光照不均匀,在自然背景中准确地确定牌照区域是整个图像识别过程中的关键。
首先对采集到的图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳区域作为牌照区域,将其从图像中分割出来,同时要考虑车牌倾斜问题。
算法流程如下:(1)对二值图像进行区域提取,计算并比较区域特征参数,提取车牌区域。
(2)计算包含所标记区域的最小宽和高,并根据先前知识,提取并显示更接近的车牌二子值图。
(3)通过计算车牌旋转角度解决车牌倾斜问题。
由于车牌倾斜导致投影效果峰谷不明显,需车牌矫正处理。
采取线性拟合方法,计算出车牌上边或下边图像值为1 的点拟合直线与水平X轴的夹角。
(完整word版)基于Matlab的车牌识别(完整版)
基于Matlab的车牌识别摘要:车牌识别技术是智能交通系统的重要组成部分,在近年来得到了很大的发展。
本文从预处理、边缘检测、车牌定位、字符分割、字符识别五个方面,具体介绍了车牌自动识别的原理。
并用MATLAB软件编程来实现每一个部分,最后识别出汽车车牌。
一、设计原理车辆车牌识别系统的基本工作原理为:将摄像头拍摄到的包含车辆车牌的图像通过视频卡输入到计算机中进行预处理,再由检索模块对车牌进行搜索、检测、定位,并分割出包含车牌字符的矩形区域,然后对车牌字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。
车牌自动识别是一项利用车辆的动态视频或静态图像进行车牌号码、车牌颜色自动识别的模式识别技术。
其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。
某些车牌识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。
一个完整的车牌识别系统应包括车辆检测、图像采集、车牌识别等几部分。
当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。
车牌识别单元对图像进行处理,定位出车牌位置,再将车牌中的字符分割出来进行识别,然后组成车牌号码输出。
二、设计步骤总体步骤为:基本的步骤:a.车牌定位,定位图片中的车牌位置;b.车牌字符分割,把车牌中的字符分割出来;c.车牌字符识别,把分割好的字符进行识别,最终组成车牌号码。
车牌识别过程中,车牌颜色的识别依据算法不同,可能在上述不同步骤实现,通常与车牌识别互相配合、互相验证。
(1)车牌定位:自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定车牌区域是整个识别过程的关键。
首先对采集到的视频图像进行大范围相关搜索,找到符合汽车车牌特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为车牌区域,并将其从图象中分割出来。
matlab车牌识别课实验报告计报告(附源代码)
目录一.课程设计目的 (3)二.设计原理 (3)三.详细设计步骤 (3)四. 设计结果及分析 (18)五. 总结 (19)六. 设计体会 (20)七. 参考文献 (21)一、课程设计目的车牌定位系统的目的在于正确获取整个图像中车牌的区域,并识别出车牌号。
通过设计实现车牌识别系统,能够提高学生分析问题和解决问题的能力,还能培养一定的科研能力。
二、设计原理:牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。
其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。
某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。
一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。
当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。
牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。
三、详细设计步骤:1. 提出总体设计方案:牌照号码、颜色识别为了进行牌照识别,需要以下几个基本的步骤:a.牌照定位,定位图片中的牌照位置;b.牌照字符分割,把牌照中的字符分割出来;c.牌照字符识别,把分割好的字符进行识别,最终组成牌照号码。
牌照识别过程中,牌照颜色的识别依据算法不同,可能在上述不同步骤实现,通常与牌照识别互相配合、互相验证。
(1)牌照定位:自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。
首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。
流程图:完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。
字符分割一般采用垂直投影法。
基于MATLAB的车牌识别(1)
[10w—out high—out]) 其中,low—in和hi曲一in参数用来指定输入图像需 要映射的灰度范围;low—out和high—out指定的是 输出图像所在的灰度范围。无论A是哪种数据类 型,指定的灰度值都必须在0.00到1.00范围内。 如果A是unit8类型,在指定值乘以255;如果是
车牌识别一般分为图像预处理、车牌定位、字符 分割、字符识别四个步骤。在本文中主要是用 MATLAB作为工具对车牌进行识别。
二、图像预处理
对于一幅刚从摄像头照下的车牌图片,首先它存 在着许多的不利于识别的干扰因素:①光照、气候引 起的车牌图像上面字符的光照不均匀;②车牌的污 损造成的字符笔画不清和字符间粘连;③汽车行驶 速度较快,使拍摄出的车牌字符产生变形、模糊不清 等。要先去除这些干扰就得先对车牌进行预处理。
一、引 言
在信息技术化的今天,计算机已经作为一种人 们普遍使用的工具为人们的生产生活服务。如今我 们也可以把它应用在交通领域。作为智能交通系统 (InteUigent Traffic System,简称ITS)中的一个重要 组成部分的车牌识别技术,当然就是其中的重点研 究对象。车辆牌照识别(License P1ate Recognition, 简称LPR),是一种关于计算机的包括图像处理、数 学技术、数据库、信息技术以及智能技术于一体的综 合技术。比如在十字交叉路口红绿灯处所照下来的 闯红灯的车辆,在停车场门口可以自动识别来停车 的车辆,在收费站也可以自动化收费等等。所以车 牌识别技术有着广阔的应用空间。