资源描述:
《车牌识别matlab程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Matlab图像处理应用实验二、汽车牌照定位与字符识别2005/12/02
2、20:47
3、分类:数学类文档
4、标签:Matlab模式识别
5、2,690次阅读Matlab在图像处理与目标识别方面的应用实验作者:林健(北京理工大学计算机科学技术学院)指导教师:尚斐(北京理工大学医学图像实验室)注意,由于BLOG功能的原因,如果显示效果不好,您可以下载Word原文档(包含m源文件和相关图片)。下载地址:http://www.linjian.cn/files/works/Matlab_Image_Processing.rarhttp://f
6、iles.linjian.org/works/Matlab_Image_Processing.rar二、汽车牌照定位与字符识别待处理的图像如下所示。图像整体比较清晰干净,车牌方向端正,字体清楚,与周围颜色的反差较大。要定位汽车牌照并识别其中的字符,我们采用Matlab平台提供的一些图像处理函数,以傅立叶变换通过字符模板与待处理的图像匹配为核心思想。基本方法如下:1、读取待处理的图像,将其转化为二值图像。经试验,采用门限值为0.2附近时车牌字符最为清楚,杂点最少(如下左图)。I=imread('car.jpg');I2=rgb2
7、gray(I);I4=im2bw(I2,0.2);2、去除图像中面积过小的,可以肯定不是车牌的区域。bw=bwareaopen(I4,500);3、为定位车牌,将白色区域膨胀,腐蚀去无关的小物件,包括车牌字符(如下右图)。se=strel('disk',15);bw=imclose(bw,se);4、此时车牌所在白色连通域已清晰可见,但在黑色区域以外,是一个更大的白色连通域,将车牌所在连通域包围了。有必要将其填充。bw=imfill(bw,[11]);5、查找连通域边界。同时保留此图形,以备后面在它上面做标记。[B,L]=bw
8、boundaries(bw,4);imshow(label2rgb(L,@jet,[.5.5.5]))holdonfork=1:length(B)boundary=B{k};plot(boundary(:,2),boundary(:,1),'w','LineWidth',2)end6、找出所有连通域中最可能是车牌的那一个。判断的标准是:测得该车牌的长宽比约为4.5:1,其面积和周长存在关系:(4.5×L×L)/(2×(4.5+1)×L)2≈1/27,以此为特征,取metric=27*area/perimeter^2作为连通域的
9、匹配度,它越接近1,说明对应的连通域越有可能是4.5:1的矩形。%找到每个连通域的质心stats=regionprops(L,'Area','Centroid');%循环历遍每个连通域的边界fork=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
10、^2;%要显示的匹配度字串metric_string=sprintf('%2.2f',metric);%标记出匹配度接近1的连通域ifmetric>=0.9&&metric<=1.1centroid=stats(k).Centroid;plot(centroid(1),centroid(2),'ko');%提取该连通域所对应在二值图像中的矩形区域goalboundary=boundary;s=min(goalboundary,[],1);e=max(goalboundary,[],1);goal=imcrop(I4,[s(2)
11、s(1)e(2)-s(2)e(1)-s(1)]);end%显示匹配度字串text(boundary(1,2)-35,boundary(1,1)+13,...metric_string,'Color','g',...'FontSize',14,'FontWeight','bold');end图示为找到的各个连通区域,中部被标记“○”的矩形匹配度为0.99,是最可能的区域。下边是由它确定的二值图像中的车牌区域:7、将车牌图像反白处理,并扩充为256×256的方阵(如下左图),以便下面傅立叶变换中矩阵旋转运算的进行。goal=~go
12、al;goal(256,256)=0;figure;imshow(goal);8、从文件读取一个字符模板(以“P”为例,模板图像“”直接从上述二值图像中截取得到)。对图像计算傅立叶描述子,用预先定义好的决策函数对描述子进行计算。变换后的图像中,亮度的高低指示相应区域与模板的匹