全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
k=input(Enterthefilename:,s);%输入车牌照片im=imread(k);imshow(im);im_gray=rgb2gray(im);im_gray=medfilt2(im_gray,3,3);%对图像进行中值滤波Image=im2bw(im_gray,0.2);BW=edge(im_gray,sobel);%找出图像边缘imx,imy=size(BW);%计算图像大小msk=00000;01110;01110;01110;00000;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)%对连通区域进行标记holdonfork=1:length(B)%用线条给连通区域标上边界线boundary=Bk;plot(boundary(:,2),boundary(:,1),w,LineWidth,2)endstats=regionprops(L,Area,Centroid);%找到每个连通域的质心fork=1:length(B)%循环遍历每个连通域的边界boundary=Bk;%获取一条边界上的所有点delta_sq=diff(boundary).2;perimeter=sum(sqrt(sum(delta_sq,2);%计算边界周长area=stats(k).Area;%获取边界所围面积metric=27*area/perimeter2;%计算匹配度metric_string=sprintf(%2.2f,metric);%要显示的匹配度字串ifmetric=0.85&metric1000%截取出匹配度接近1且面积大于1000像素的连通域centroid=stats(k).Centroid;plot(centroid(1),centroid(2),ko);%提取该连通域所对应在二值图像中的矩形区域goalboundary=boundary;s=min(goalboundary,1);e=max(goalboundary,1);goal=imcrop(Image,s(2)s(1)e(2)-s(2)e(1)-s(1);endtext(boundary(1,2)-35,boundary(1,1)+13,metric_string,Color,g,FontSize,14,FontWeight,bold);%显示匹配度字串endgoal=goal;%对截取图像进行反色处理figure;imshow(goal);a,b=size(goal);fori=a/2:-1:1%从图像水平中轴开始向上扫描,当白点数少于每行总点数的1/10时,停止扫描,并将该行定义为车牌字符区域的上限num=0;forj=1:bifgoal(i,j)=1num=num+1;endendifnum(b*0.1)line_up=i;break;endendfori=a/2:a%从图像水平中轴开始向下扫描,当白点数少于每行总点数的1/10时,停止扫描,并将该行定义为车牌字符区域的下限num=0;forj=1:bifgoal(i,j)=1num=num+1;endendifnum(b*0.1)line_down=i;break;endendgoal=goal(line_up:line_down,1:b);%根据之前定义的上下限截取车牌字符区域figure;imshow(goal);%显示车牌字符区域a,b=size(goal);row=zeros(18);now=1;flag=0;forj=1:b%对截取出的字符区域进行竖列扫描,并取每列总点数的1/10作为阈值点,当每列的白点数从阈值以上掉落到阈值以下或从阈值以下上升到阈值以上时,记录该列的横坐标num=0;fori=1:aifgoal(i,j)=1num=num+1;endendifflag=0ifnum0.1*arow(now)=j;now=now+1;flag=0;endendendifrow(3)-row(2)10%判断扫描出的第二块区域(扫描到的第二列与第三列之间)是否包含有效字符,如包含,则将扫描到的第二列定义为字符分割的起始列;否则,则定义第一列为起始列now=2;elsenow=1;endfigure;l1=0;l2=0;fork=1:8m=row(now);n=row(now+1);temp=goal(1:a,m:n);point=0;%扫描每一个字符图片的白点数fori=1:aforj=1:n-miftemp(i,j)=1point=point+1;endendendifpoint0.4*a*(n-m)&nm%当扫描到的白点数小于总点数的2/5时放弃输出(有可能是车牌上的点状分隔符)l2=l2+1;%l2用来记录识别出的字符数subplot(1,7,l2);x(k)=code(temp);%调用子程序进行字符扫描,并返回字符的ASCII码x(k)=uint8(x(k);ifx(k)0%当所选区域不为空时进行输出l1=l1+1;%l1用来记录输出的字符数s(l1)=char(x(k);endtemp(32,32)=0;imshow(temp);endnow
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广东省英德市高三历史上册期末考试考试卷汇编附答案
- 2025年云南省景洪市高考历史测试卷(名师系列)附答案
- 第六单元检测卷 (3)-2025-2026学年三年级上册数学人教版
- 2026奥林匹克面试题及答案
- 5-6.项目五 人工智能+智能制造:机器人颜色识别-任务三图像形态学处理与轮廓框选
- 酱油制作工安全操作竞赛考核试卷含答案
- 风机操作工道德竞赛考核试卷含答案
- 电子商务物流配送协议2026年
- 电子商务平台入驻协议(2026年平台交易规则)
- 电商直播客服外包合同协议
- 中国香港脚手架施工方案
- DB43-T 2933-2024 排水降噪沥青路面养护技术规范
- 旭创培训考试题及答案
- 特种设备生产与使用单位质量安全总监及安全员考试题库及答案
- 粮食加工安全培训内容课件
- 国资监管数智化洞察与实践白皮书(发布版)
- 肺康复考试题及答案
- 中科大火灾调查科学讲义03火灾现场勘查
- 四川化材科技有限公司新材料创新孵化基地-高功率光纤激光技术所地联合创新中心环评报告
- 华为基建管理办法
- 沥青混凝土供货方案及保障措施
评论
0/150
提交评论