您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 图形图像 > 基于数字图像处理的车牌识别毕业论文.周金鑫
1本科生毕业论文(设计)题目:基于数字图像处理的车牌识别设计姓名:周金鑫学院:数理与信息工程学院专业:电子信息工程班级:111学号:1665110130指导教师:刘纯利职称:教授2014年12月24日安徽科技学院教务处制2目录摘要.......................................................................3关键词.....................................................................31、设计目的................................................................32、设计原理:...............................................................33、设计步骤:...............................................................34、实行方案................................................................44.1.总体实行方案:.....................................................44.2.各模块的实现:.....................................................44.2.1输入待处理的原始图像:.........................................44.2.2图像的灰度化并绘制直方图:.....................................54.2.3边缘检测......................................................64.2.4图像的腐蚀操作:..............................................74.2.5平滑图像......................................................84.2.6除去二值图像的小对象..........................................84.3车牌定位............................................................94.4字符的分割与识别...................................................114.4.1.车牌的再处理.................................................114.4.2字符分割.....................................................134.5车牌识别:.........................................................175、总结:..................................................................206、致谢...................................................................207、参考文献:..............................................................203基于数字图像处理的车牌识别设计电子信息工程专业学生周金鑫指导教师刘纯利摘要:车牌识别在人类社会交通系统中担当重要角色,一个设计优良的车牌识别系统会给人们生活带来极大的方便,本文通过运用matlab和数字图像处理的一些知识简单通过图像预处理,车牌定位,字符分割,采用模板匹配法实现车牌字符的识别。关键词:图像预处理边缘处理字符分割字符识别1、设计目的车牌识别系统主要是为了辨别所拍图片中的车牌部分,以此识别车辆。通过车牌识别系统的设计,来实现经过我校西大门的车辆的识别。2、设计原理:设计的原理主要如下图所示:触发设备摄像设备照明设备图像采集设备车牌识别处理单元43、设计步骤:流程图如下:4、实行方案4.1.总体实行方案:用摄像机获取自然环境下的汽车彩色图像,将彩色图像用matlab软件处理成灰度图像并绘制直方图,然后进行边缘检测图像的腐蚀,平滑图像以及去除二值图像的小对象等操作,再进行车牌的定位和字符分割与识别最终达到识别车牌照的目的。4.2.各模块的实现:4.2.1输入待处理的原始图像:I=imread(‘car.jpg');imshow(I);%显示车牌的原始图片,结果如下:图像预处理车牌定位字符识别字符分割图象输入5图4.2.1原始图像picture14.2.2图像的灰度化并绘制直方图:彩色图像的存储器所需的成本高,且减缓系统的速度执行,所以,在图像识别处理彩色图像一般都转换成灰度图像,以加快图像信息的处理速度。从彩色图像到灰度图像的转换叫做灰度处理。灰度直方图的横坐标代表图片的像素数,从左到右由暗到亮,灰度直方图的纵轴就表示其所占有图片的面积,峰值越低就意味着该明暗值的像素数量越少,从图4.2.2可以看出峰值最高的即为车牌区域。I1=rgb2gray(I);%灰度处理subplot(1,2,1),imshow(I1);title('grayimage');subplot(1,2,2),imhist(I1);title('灰度图直方图');%绘制灰度图和直方图显示结果图像如下:6图4.2.2灰度化并绘制直方图picture24.2.3边缘检测边缘是一定存在在两个拥有不一样灰度值的相邻的区域之间的,是灰度值不连续的一种表现,也是分割图象、纹理和形状特征提取等图像分析的基础。本文用Roberts算子来实现边缘检测,他是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑,当然还需要后续的腐蚀,平滑图像以及去除二值图像的小对象操作来提高精度。由于阈值越小检测的边缘越丰富,结合选取的灰度图选择阈值为0.16较为合适。用roberts算子实行边缘检测:I2=edge(I1,'roberts',0.16,'both');imshow(I2);title('robertsoperatoredgedetectionimage');结果如下:7图4.2.3边缘检测picture34.2.4图像的腐蚀操作:腐蚀操作就是通过不断的删除图片上的像素,将图片缩小,以此来达到去除小点状图形的效果。se=[1;1;1];I3=imerode(I2,se);%图像腐蚀操作imshow(I3);title('corrosionimage');图4.2.4图像腐蚀操作picture484.2.5平滑图像图像平滑是去掉图像中的高频信息,使图像变的模糊,噪声一般都是高频信息,平滑的过程也就意味着除去图片噪声的过程。se=strel('rectangle',[16,16]);%建立正方形结构元素I4=imclose(I3,se);%图像聚类和填充imshow(I4);title('smothingimage');图2.5平滑图像picture54.2.6除去二值图像的小对象除去二值图像的小对象就为了去掉面积较小无关的白色区域,将车牌所在的大面积白色区域凸显出来。I5=bwareaopen(I4,1900);%除去聚团灰度值在1900以下的部分imshow(I5);title('removethesmallobjects');%滤波后图像显示结果如下:9图4.2.6除去二值图像的小对象picture64.3车牌定位自然环境下,汽车图像背景十分复杂,受光照不均匀、污渍等影响,所以在自然背景下准确的将车牌区域确定下来是整个识别过程的关键,所以先要对原图像进行大范围横向(X),纵向(Y)像素点相关搜索,找到符合汽车牌照的候选区,然后对候选区做进一步的分析,判断,最终确定一个最佳的区域作为牌照区域。代码显示如下:[y,x,z]=size(I5);%返回I5各维的尺寸,存储在x,y,z中myI=double(I5);%将I5转换成双精度tic%tic计时开始,toc计时结束Blue_y=zeros(y,1);%产生一个y*1的零阵fori=1:yforj=1:xif(myI(i,j,1)==1)%若myI的图像中坐标(i,j)的点值为1,则表示蓝色背景%则Blue_y(i,1)的值加1Blue_y(i,1)=Blue_y(i,1)+1;%蓝色像素点统计endendend10[tempMaxY]=max(Blue_y);%Y方向车牌区域确定%MaxY是yellow_y元素中最大值temp的索引PY1=MaxY;while((Blue_y(PY1,1)=5)&&(PY11))PY1=PY1-1;endPY2=MaxY;while((Blue_y(PY2,1)=5)&&(PY2y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);%行方向车牌区域确定%%%%X方向%%%%Blue_x=zeros(1,x);%x车牌区域方向的再判断forj=1:xfori=PY1:PY2if(myI(i,j,1)==1)Blue_x(1,j)=Blue_x(1,j)+1;endendendPX1=1;while((Blue_x(1,PX1)3)&&(PX1x))PX1=PX1+1;endPX2=x;while((Blue_x(1,PX2)3)&&(PX2PX1))PX2=PX2-1;end11PX1=PX1-1;%车牌区域校正PX2=PX2+1;dw=I(PY1:PY2-8,PX1:PX2,:);t=toc;subplot(1,2,1),imshow(IY),title('Linedirectionareas');%车牌行方向区域的确定subplot(1,2,2),imshow(dw),title('positioningcolorimages');%车牌已经定位后的区域显示如下:图4.3.1车牌的定位picture74.4字符的分割与识别4.4.1.车牌的再处理划分彩色图像需经过灰度变换,二值化,均值滤波,腐蚀和膨胀到一个字符,并对分割字符进二值化、归一化等图像预处理使车牌图像的车牌号字符分割构成隔离,然后分析识别已经分割字符识的图像并用文本的车牌号的形式呈现出来。代码显示如下:imwrite(dw,'dw.jpg');%把彩色车牌写入dw文件里12a=imread('dw.jpg');%读取车牌文件数据b=rgb2gray(a);%把车牌图像变换为灰度图imwrite(b,'graylicenceplate.jpg');%把灰度图像写入文件里subplot(3,2,1),imshow(b),title('车牌灰度图像')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,'binarylicenceplate.jpg');subplot(3,2,2),imshow(d),title('beforefilteringbinarylicenceplate')%均值滤波之前%滤波h=fspecial('average',3);%模板的尺寸:3*3,average:均值滤波,建立滤波算子d=im2bw(round(filter2(h,d)));%用指定的滤波器h然后对其均值滤波即进行dimwrite(d,'aft
本文标题:基于数字图像处理的车牌识别毕业论文.周金鑫
链接地址:https://www.777doc.com/doc-1725681 .html