下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业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,0.2);BW=edge(im_gray,sobel);%找出图像边缘imx,imy=size(BW);%计算图像大小msk=0 0 0 0 0; 0 1 1 1 0; 0 1 1 1
2、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
3、;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=Bk; plot(boundary(:,2),boundary(:,1),w,LineWidth,2) end stats=regionprops(L,Area,Centroid);%找到每个连通域的质心 for
4、k=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);%要显示的匹配度字串 if metric=0.85&metric1000%截取出匹配度接近1且面积大于1000像素的连通域 centroid=stats(k).
5、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); end text(boundary(1,2)-35,boundary(1,1)+13,metric_string,Color,g,FontSize,14,FontWeight,bold);%显示匹配度字串 end goal=goal;
6、%对截取图像进行反色处理 figure;imshow(goal); a,b=size(goal); for i=a/2:-1:1 %从图像水平中轴开始向上扫描,当白点数少于每行总点数的1/10时,停止扫描,并将该行定义为车牌字符区域的上限 num=0; for j=1:b if goal(i,j)=1 num=num+1; end end if num(b*0.1) line_up=i; break; end end for i=a/2:a %从图像水平中轴开始向下扫描,当白点数少于每行总点数的1/10时,停止扫描,并将该行定义为车牌字符区域的下限 num=0; for j=1:b if go
7、al(i,j)=1 num=num+1; end end if num(b*0.1) line_down=i; break; end end goal=goal(line_up:line_down,1:b);%根据之前定义的上下限截取车牌字符区域 figure;imshow(goal);%显示车牌字符区域 a,b=size(goal); row=zeros(18); now=1; flag=0; for j=1:b %对截取出的字符区域进行竖列扫描,并取每列总点数的1/10作为阈值点,当每列的白点数从阈值以上掉落到阈值以下或从阈值以下上升到阈值以上时,记录该列的横坐标 num=0; for i
8、=1:a if goal(i,j)=1 num=num+1; end end if flag=0 if num0.1*a row(now)=j; now=now+1; flag=0; end end end if row(3)-row(2)10 %判断扫描出的第二块区域(扫描到的第二列与第三列之间)是否包含有效字符,如包含,则将扫描到的第二列定义为字符分割的起始列;否则,则定义第一列为起始列 now=2; else now=1; end figure; l1=0; l2=0; for k=1:8 m=row(now); n=row(now+1); temp=goal(1:a,m:n); poi
9、nt=0;%扫描每一个字符图片的白点数 for i=1:a for j=1:n-m if temp(i,j)=1 point=point+1; end end end if point0.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); if x(k)0 %当所选区域不为空时进行输出 l1=l1+1;%l1用来记录输出的字符数 s(l1)=char(x(k); end temp(32,32)=0; imshow(temp);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年乐山市市中区公务员人员招聘笔试试题与答案详解
- 2027年西咸新区沣东第一高级中学教师招聘考试模拟试题及答案解析
- 2026年莆田市荔城区公务员人员招聘笔试备考题库与答案详解
- 2026西北工业大学后勤部办公室动力保障中心招聘电力运维岗1人考试模拟试题及答案解析
- 2026年搅拌磨行业洞察报告及未来五至十年发展趋势报告
- 2026年陕西省商洛市公务员人员招聘笔试参考题库与答案详解
- 2026上海市工商外国语学校工作人员公开招聘第四批考试备考试题及答案解析
- 2026年洛阳市涧西区公务员人员招聘考试试题与答案详解
- 2026年日用及医用橡胶制品制造行业供需格局研究报告及未来五至十年自主创新与安全可控
- 2026年杭州市滨江区公务员人员招聘考试参考题库与答案详解
- 2026年北方华创行测笔试题库
- 混凝土换班制度规范
- 建筑工程质量培训课件
- 《生物化学》课件-三羧酸循环
- 公路工程监理质量控制措施
- 身体约束管理制度流程
- 第8章TiAl系金属间化合物
- 沈阳城投新能源集团有限公司招聘笔试冲刺题2025
- 建筑表现生涯发展展示
- 与数同行 共话梦想-四年级数学期中家长会 课件
- 卫生院服务基层行资料-2.2.1.10 康复医疗服务★
评论
0/150
提交评论