下载此文档

毕业设计]基于MATLAB的车牌识别系统的源代码(可以实现).doc


文档分类:论文 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
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,);
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 on
for k=1:length(B)%用线条给连通区域标上边界线
boundary=B{k};
plot(boundary(:,2),boundary(:,1),'w','LineWidth',2)
end
stats=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('%',metric);%要显示的匹配度字串
if metric>=&&metric<=&&area>1000%截取出匹配度接近1且面积大于1000像素的连通域
centroid=stats(k).Centroid;
plot(centroid(1),centroid(2),'ko');%提取该连通域所对应在二值图像中的矩形区域
goalboundary=boundary;
s=min(goalboundary,[],1)

毕业设计]基于MATLAB的车牌识别系统的源代码(可以实现) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息