数字图像处理-汽车牌照自动识别要点.pdf

上传人:tbuqq 文档编号:5208697 上传时间:2020-02-21 格式:PDF 页数:12 大小:472.09KB
返回 下载 相关 举报
数字图像处理-汽车牌照自动识别要点.pdf_第1页
第1页 / 共12页
数字图像处理-汽车牌照自动识别要点.pdf_第2页
第2页 / 共12页
数字图像处理-汽车牌照自动识别要点.pdf_第3页
第3页 / 共12页
数字图像处理-汽车牌照自动识别要点.pdf_第4页
第4页 / 共12页
数字图像处理-汽车牌照自动识别要点.pdf_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数字图像处理-汽车牌照自动识别要点.pdf》由会员分享,可在线阅读,更多相关《数字图像处理-汽车牌照自动识别要点.pdf(12页珍藏版)》请在三一文库上搜索。

1、数字图象处理 I 数字图象处理 题目: 汽车牌照自动识别 学院:计算机科学与信息学院 专业: _网络工程 _ 数字图象处理 II 目录 1 实验目的 . 1 2 实验原理和方法 1 3 实验内容和步骤 1 3.1 牌照定位 . 1 3.2 牌照字符分割 . 2 3.3 牌照字符识别 . 2 4 实验数据 . 2 4.1 源程序 . 2 4.2 运行结果 . 7 4.2.1 牌照定位 . 7 4.2.2 牌照字符分割 . 9 4.2.2 牌照字符识别 . 10 数字图象处理 1 1 实验目的 1. 分析汽车牌照的特点,正确获取整个图像中车牌的区域,并识别出车牌号。 2. 将图像预处理、分割、分析

2、等关键技术结合起来,理论与实践相结合,提高图像处理关 键技术的综合应用能力。 2 实验原理和方法 牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的 模式识别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车 牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。 某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。一个完 整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。当车辆检测部分检测到车 辆到达时触发图像采集单元,采集当前的视频图像。牌照识别单元对图像进行处理,定位出牌

3、照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。 3 实验内容和步骤 为了进行牌照识别,需要以下几个基本的步骤: a.牌照定位,定位图片中的牌照位置; b.牌照字符分割,把牌照中的字符分割出来; c.牌照字符识别,把分割好的字符进行识别,最终组成牌照号码。 3.1 牌照定位 自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是 整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征 的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域 作为牌照区域,并将其从图象中分割出来。流程图如下: 数字图象

4、处理 2 3.2 牌照字符分割 完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采 用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值 的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。利用垂 直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。流程图如下: 3.3 牌照字符识别 字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。基于模板匹配算法 首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模 板进行匹配,最后选最佳匹配作为结果。基于人工神经元网络的算法有

5、两种:一种是先对待识 别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把待处理 图像输入网络,由网络自动实现特征提取直至识别出结果。 4 实验数据 4.1 源程序 源代码( .m 文件): clc; close all clear all %(1) 牌照定位 Scolor=imread(lab4.jpg); % 读取一副真彩色图片 Sgray=rgb2gray(Scolor); % 将RGB图片转为灰度图片 s=strel(disk,15); %strel函数 Bgray=imopen(Sgray,s); % 对图像进行开运算 Egray=imsubtract(Sgr

6、ay,Bgray); % 两幅图相减 figure(1) subplot(2,2,1),imshow(Scolor),title( 原图像 ); subplot(2,2,2),imshow(Sgray),title( 灰度图像 ) subplot(2,2,3),imshow(Bgray),title( 开图像 ) subplot(2,2,4),imshow(Egray),title( 相减图像 ) fmax1=double(max(max(Egray); %egray 的最大值并输出双精度型 数字图象处理 3 fmin1=double(min(min(Egray); %egray 的最小值并输

7、出双精度型 level=(fmax1-(fmax1-fmin1)/3)/255; % 获得最佳阈值 bw22=im2bw(Egray,level); % 转换图像为二进制图像 bw2=double(bw22); figure,imshow(bw2);title( 图像二值化 ); %得到二值图像 grd=edge(bw2,canny) % 用 canny 算子识别强度图像中的边界 figure,imshow(grd);title( 图像边缘提取 ); % 输出图像边缘 bg1=imclose(grd,strel(rectangle,13,13); % 取矩形框的闭运算 figure,imsho

8、w(bg1);title( 图像闭运算 13,13); %输出闭运算的图像 bg2=imopen(bg1,strel(rectangle,18,20); % 取矩形框的开运算 figure,imshow(bg2);title( 图像开运算 18,20); %输出开运算的图像 % 坐标的确定 a,b=size(bg2); num=0; % 自下限开始向上扫描,当白点数少于每行总点数的1/10 时,停止扫描, % 并将该行定义为车牌字符区域的纵向上限 for i=1:1:a for j=1:b if bg2(i,j)=1 num=num+1; end end if num(b*0.1) ydown

9、=i; break; end end % 自下向上扫描,当白点数多于每行总点数的1/10 时,停止扫描, % 并将该行定义为车牌字符区域的纵向下限 for i=a:-1:1 num=0; for j=1:b if bg2(i,j)=1 num=num+1; end end if num(b*0.1) yup=i; break; end end a,b=size(bg2); 数字图象处理 4 nu=0; % 自左到右扫描,当白点数少于每行总点数的1/10 时,停止扫描, % 并将该行定义为车牌字符区域的横向左限 for i=1:1:b for j=1:a if bg2(j,i)=1 nu=nu+

10、1; end end if nu(a*0.05) xdown=i; break; end end % 自右到左扫描,当白点数多于每行总点数的1/10 时,停止扫描, % 并将该行定义为车牌字符区域的横向右限 for i=b:-1:1 nu=0; for j=1:a if bg2(j,i)=1 nu=nu+1; end end if nu(a*0.05) xup=i; break; end end goal=imcrop(Scolor,xdown,ydown,xup-xdown,yup-ydown); figure(); subplot(3,1,1);imshow(goal);title( 车牌

11、区域 ); %(2) 牌照字符分割 goalg=rgb2gray(goal); C=im2bw(goalg); % 转为二值图像 subplot(3,1,2);imshow(C);title( 车牌区域二值图像 ); I2=bwareaopen(C,20); subplot(3,1,3);imshow(I2);title( 中值滤波后的二值图像 ); %histcol=sum(I2); %计算垂直投影 %subplot(2,2,4);plot(histcol);title(垂直投影 ); y1,x1,z1=size(I2); I3=double(I2); TT=1; %去除图像顶端和底端的不感

12、兴趣区域% Y1=zeros(y1,1); 数字图象处理 5 for i=1:y1 for j=1:x1 if(I3(i,j,1)=1) Y1(i,1)= Y1(i,1)+1 end end end Py1=1; Py0=1; while (Y1(Py0,1)=20) kmax=36; end for k2=kmin:kmax fname=strcat(liccode(k2),.jpg); SamBw2 = imread(fname); for i=1:40 for j=1:20 数字图象处理 7 SubBw2(i,j)=SegBw2(i,j)-SamBw2(i,j); end end % 以

13、上相当于两幅图相减得到第三幅图 Dmax=0; for k1=1:40 for l1=1:20 if (SubBw2(k1,l1)0 | SubBw2(k1,l1)0) Dmax=Dmax+1; end end end Error(k2)=Dmax; end Error1=Error(kmin:kmax); MinError=min(Error1); findc=find(Error1=MinError); l=l+1; end figure,imshow(goal);title ( 车牌号码 : 粤A 2Y222,Color, b); 4.2 运行结果 4.2.1 牌照定位 数字图象处理 8 数字图象处理 9 4.2.2 牌照字符分割 数字图象处理 10 4.2.2 牌照字符识别

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1