文档介绍:--------------------------校验:_____________--------------------------日期:_____________汽车车牌的号码识别目录1技术要求 12基本原理 13各模块的功能 74调试过程及结论 105心得体会 106参考文献 10汽车车牌的号码识别1技术要求用相机拍摄获取彩色汽车车牌的图片,应用MATLAB软件对所拍摄车牌号图片进行相应处理(如,去噪,去除背景提取目标,边缘分割,轮廓提取等)最终从一幅图像中提取车牌中的字母和数字(只能用黑色显示)。2基本原理汽车车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。汽车车辆牌照识别系统的基本工作原理图如图1所示:字符分割车辆图1基本工作原理图输出结果字符识别车牌的定位图像预处理图像采集 我们知道输入的彩色图像包含大量颜色信息,会占用计算机较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,通常将彩色图像转换为灰度图像,以加快处理速度。对图像进行灰度化处理、边缘提取、再利用形态学方法对车牌进行定位。具体步骤如下:首先通过MATLAB软件对图像进行灰度转换,二值化处理然后采用4X1的结构元素对图像进行腐蚀,去除图像的噪声。采用25X25的结构元素,对图像进行闭合应算使车牌所在的区域形成连通。在进行形态学滤波去除其它区域。、图像增强和边缘检测等。载入车牌图像如代码如下所示:I=imread('');%应用imread函数从图形文件中读取命名为car的图像;figure();subplot(3,2,1),imshow(I),title('原始图像');%以“原始图像”为题目将图片显示出来。结果如图2所示:图-2原始图像对提取出来的原始图像进行下列处理:转化为灰度图像,采用Robert算子进行边缘检测,腐蚀图像,填充图像,形态滤波。具体各个过程的源程序如下所示:I1=rgb2gray(I);%转化为灰度图像subplot(3,2,2),imshow(I1),title('灰度图像');%用imshow函数显示灰度图像如图3所示:图-3灰度图像I2=edge(I1,'robert',,'both');%采用robert算子进行边缘检测subplot(3,2,3),imshow(I2),title('边缘检测后图像');%用imshow函数显示边缘检测后图像如图4所示:图-4边缘检测后图像se=[1;1;1];%线型结构元素I3=imerode(I2,se);%腐蚀图像subplot(3,2,4),imshow(I3),title('腐蚀后边缘图像');%用imshow函数显示腐蚀后边缘图像如图5所示:图-5腐蚀后边缘图像se=strel('rectangle',[25,25]);%矩形结构元素I4=imclose(I3,se);%图像聚类、填充图像subplot(3,2,5),imshow(I4),title('填充后图像');%用imshow函数显示填充后图像如图6所示:图-6填充后图像I5=bwareaopen(I4,2000);%去除聚团灰度值小于2000的部分subplot(3,2,6),imshow(I5),title('形态滤波后图像');%用imshow函数显示形态滤波后图像如图7所示图-。即在一幅车辆图像中找到车牌所在的位置。具体代码如下所示:[y,x,z]=size(I5);I6=double(I5);Y1=zeros(y,1);fori=1:yforj=1:xif(I6(i,j,1)==1)Y1(i,1)=Y1(i,1)+1;endendend[tempMaxY]=max(Y1);figure();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);forj=1:xfori=PY1:PY2if(I6(i,j,1)==1)X1(1,j)=X1(1,j)+1;endendendPX1=1;while((X1(1,PX1)<3)&&(PX1<x))PX1=PX1