Matlab在图像处理与目标识别方面实验-汽车牌照定位与字符识别.docVIP

Matlab在图像处理与目标识别方面实验-汽车牌照定位与字符识别.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab在图像处理与目标识别方面实验-汽车牌照定位与字符识别

Matlab在图像处理与目标识别方面的应用实验 —— 二、汽车牌照定位与字符识别 收藏 Matlab在图像处理与目标识别方面的应用实验 —— 二、汽车牌照定位与字符识别 作者:林健(北京理工大学计算机科学技术学院) 指导教师:尚斐(北京理工大学医学图像实验室) 对于汽车牌照定位和数字识别,通过高通滤波,得到所有的边缘;对边缘细化,找出所有封闭的边缘;对封闭边缘求多边形逼近,在逼近后的所有四边形中,找出尺寸与牌照大小相同的,牌照被定位。对牌照区域中细化后的图形对象计算傅立叶描述子,用预先定义好的决策函数,对描述子进行计算,判断数字是几。 注意,由于BLOG功能的原因,这里无法显示图片。您可以下载Word原文档(包含m源文件和相关图片)。下载地址: 二、汽车牌照定位与字符识别 待处理的图像如下所示。图像整体比较清晰干净,车牌方向端正,字体清楚,与周围颜色的反差较大。 要定位汽车牌照并识别其中的字符,我们采用Matlab平台提供的一些图像处理函数,以傅立叶变换通过字符模板与待处理的图像匹配为核心思想。基本方法如下: 1、读取待处理的图像,将其转化为二值图像。经试验,采用门限值为0.2附近时车牌字符最为清楚,杂点最少(如下左图)。 I = imread(car.jpg); I2 = rgb2gray(I); I4 = im2bw(I2, 0.2); 2、去除图像中面积过小的,可以肯定不是车牌的区域。 bw = bwareaopen(I4, 500); 3、为定位车牌,将白色区域膨胀,腐蚀去无关的小物件,包括车牌字符(如下右图)。 se = strel(disk,15); bw = imclose(bw,se); 4、此时车牌所在白色连通域已清晰可见,但在黑色区域以外,是一个更大的白色连通域,将车牌所在连通域包围了。有必要将其填充。 bw = imfill(bw,[1 1]); 5、查找连通域边界。同时保留此图形,以备后面在它上面做标记。 [B,L] = bwboundaries(bw,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 6、找出所有连通域中最可能是车牌的那一个。判断的标准是:测得该车牌的长宽比约为4.5:1,其面积和周长存在关系:(4.5×L×L)/(2×(4.5+1)×L)2≈1/27,以此为特征,取metric=27*area/perimeter^2作为连通域的匹配度,它越接近1,说明对应的连通域越有可能是4.5:1的矩形。 % 找到每个连通域的质心 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(%2.2f,metric); % 标记出匹配度接近1的连通域 if metric = 0.9 metric = 1.1 centroid = stats(k).Centroid; plot(centroid(1),centroid(2),ko); % 提取该连通域所对应在二值图像中的矩形区域 goalboundary = boundary; s = min(goalboundary, [], 1); e = max(goalboundary, [], 1); goal = imcrop(I4,[s(2) 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、将车牌图像反白处

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档