基于数字图像处理的车牌识别系统.docx
- 文档编号:28578742
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:14
- 大小:871.67KB
基于数字图像处理的车牌识别系统.docx
《基于数字图像处理的车牌识别系统.docx》由会员分享,可在线阅读,更多相关《基于数字图像处理的车牌识别系统.docx(14页珍藏版)》请在冰豆网上搜索。
基于数字图像处理的车牌识别系统
基于数字图像处理的车牌识别系统
基于数字图像处理的车牌识别系统
言经官
电气学院电子112
摘要:
车牌识别系统(LicensePlateRecognition简称LPR)技术基于数字图像处理,是智能交通系统中的关键技术,同时他的发展也十分迅速,已经逐渐融入到我们的现实生活中。
文章介绍了车牌识别系统的意义、图像去噪处理以及图像二值化方法,并通过仿真试验模拟了图像处理的过程。
本文所做的工作在于前期的图像预处理工作。
本次设计着重在于图像识别方面,中心工作都为此而展开,文中没有进行车牌的定位处理,而是采用数码相机直接对牌照进行正面拍照,获取原始车牌图像。
之后利用Matlab编程对图片进行了大小的调整、彩色图片转化成灰度图片、图片去噪、以及图片二值化等工作。
其中,去噪与二值化是关系图像识别率的关键。
关键字:
车牌识别系统;图像预处理;字符识别;Matlab;去噪;二值化
引言
智能交通系统(ITS)是当今世界交通管理体系发展的必然趋势,而作为智能交通系统中的重要组成部分之一的车牌自动识别技术,目前已被广泛应用于城市道路监控、高速公路收费与监控、小区与停车场出入口管理、公安治安卡口等场合,成为研究的热点。
伴随我国国民经济的高速发展,国内高速公路、城市道路、停车场建设越来越多,对交通控制,安全管理的要求也日益提高。
因此迫切需要采用高科技手段,对违法违章车辆牌照进行登记,在这种情况下,作为信息来源的自动检索,图像识别技术越来越受到人们的重视。
车牌识别系统的出现成为了交通管制必不可少的有力武器。
1车牌识别系统的目标
利用计算机等辅助设备进行的自动汽车牌照自动识别就是在装备了数字摄像设备和计算机信息管理系统等软硬件平台的基础之上,通过对车辆图像的采集,采用先进的图像处理、模式识别和人工智能技术,在图像中找到车牌的位置,提取出组成车牌号码的全部字符图像,再识别出车牌中的文字、字母和数字,最后给出车牌的真实号码。
国外的车牌识别研究始于80年代,90年代始已有不少成套的产品出现。
由于我国车牌的组成及组合的方式与国外的车牌不一致,使得我们不能直接使用国外的车辆牌照识别系统,而必须针对我国车牌重新设计相应的车辆牌照识别系统。
车牌识别的使用环境、背景各有差异,目前还没有一种算法能在不同环境、各种复杂背景条件下达到非常高的车牌识别率,因而车牌识别技术仍然是研究的重点。
2MATLAB及其图像处理工具概述
MATLAB是MATrixLABoratory(矩阵实验室)的缩写,是MathWorks公司开发的一种功能强、效率高、简单易学的数学软件。
MATLAB7.1是一套功能十分强大的工程计算及数据分析软件,其应用范围涵盖了数学、工业技术、电子科学、医疗卫生、建筑、金融、数字图像处理等各个领域。
MATLAB的图像处理工具箱,功能十分强大,支持的图像文件格式丰富,如*.BMP、*.JPG、*.JPEG、*.GIF、*.ti;f%95%94、*.ti;f%95%94F、*.PNG、*.PCX、*.XWD、*.HDF、*.ICO、*.CUR等。
本文将给出MATLAB的图像处理工具箱中的图像处理函数实现图像处理与分析的应用技术实例。
由于照片拍摄的好坏有很多外界因素决定,由于光照强度的影响,晴天拍摄的照片与阴天拍摄的照片质量肯定不一样,白天和晚上更是不同;由于每部车的车速的不一致,慢速行驶的车辆会比快速行驶的车辆拍摄的照片质量好一些,而且车速过快,会使照片的字迹模糊,这肯定会影响字符的识别。
故要对拍摄的照片进行灰度化、二值化、滤波等预处理。
传统的设计方法为:
利用静止的汽车牌照图片,利用C语言或C++语言来对图像进行处理,编程很复杂,维护难度大。
而MATLAB语言对处理图像而言非常方便,可直接调用已经编好的函数,如可直接调用现成的函数进行复杂的傅里叶变换、拉普拉斯变换、二值化处理、数字滤波等操作。
3车牌识别系统的工作原理
现在普遍通用的车牌识别系统通常包括两大部分,软件与硬件。
其中软件是整个系统的核心部分,车牌识别的核心技术就在于软件。
系统一般由车体感应器,彩色摄像机.辅助光源.图像采集与处理器,主控电脑和识别系统软件构成。
系统软件一般先对牌照图像进行滤波、二值化、校正、分割等处理,再进行识别。
软件部分由六个主要处理子模块组成。
各模块功能为:
1)实时采集模块实现对汽车牌照图像的实时采集,并将采集的图像转换为数字图像存储;
2)车牌搜索及定位模块对数字化后的车牌进行区域目标搜索,并将图像进行灰度翻转统一为“白底黑字”;
3)车牌分割对定位的车牌区域进行字符分割,将车牌分为7个单一的字符图片(针对普通民用车);
4)特征提取模块对分割后的图片进行相应的特征描述;
5)分类识别模块根据图片的特征描述将其识别为相应的结果字符串;
6)数据传送输出识别结果字符串到指定的设备上。
图1车牌识别系统与原理图
4图像预处理
车牌图像通常是在各种复杂的背景、环境条件下采集得到,图像质量难以保证,因此在进行车牌定位之前,通常要进行图像的预处理工作。
图像预处理主要是对系统获取的原始图像基本特征的信息进行相应的、有针对性的处理,以滤去干扰、噪声,作几何校正、色彩校正,以便于计算机的分析计算,一般包括滤波、图像增强、图像二值化、形态学运算、边缘检测等。
本文图像预处理过程如图2.
图2车牌图像预处理流程图
4.1图像灰度化
汽车图像样本目前大都是通过摄像机、数码相机等设备拍摄获取的,因而预处理前的图像都是24位真彩色图像。
彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,而且大多数图像处理技术都是针对256级灰度图的,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。
由彩色转换为灰度的过程叫做灰度化处理。
将彩色图像转换成灰度图,一方面提高了图像的处理速度,另一方面更统一了多种颜色的车辆牌照,因此,图像灰度化是做图像处理最根本的一步。
本文采用加权平均值法将图像灰度化,即根据重要性或其他指标给R、G、B赋予不同的权值,并使R、G、B等于它们的值的加权和平均,R=G=B=(Wr*R+Wg*G+Wb*B)/3。
其中Wr、Wg、Wb分别是R、G、B的权值,取Wr=0.299、Wg=0.588、Wb=0.113,从而得到最合理的车牌灰度图像。
Matlab程序如下:
图3原图与灰度化后图片
4.2中值滤波
由于图像中不可避免的存在有噪声,常用的滤波方法有:
低通滤波、高通滤波、带通滤波、带阻滤波。
中值滤波的基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,该方法在去除脉冲噪声、椒盐噪声的同时又能保留图像边缘细节.这是因为它不依赖于邻域内那些与典型值差别很大的值.中值滤波器在处理连续图像窗函数时与线性滤波器的工作方式类似,但滤波过程却不再是加权运算。
取3*3函数窗,计算以点i,j]为中心的函数窗像素中值步骤如下:
1)按强度值大小排列像素点。
2)选择排序像素集的中间值作为点[i,j]新值。
图43*3中值滤波
这一过程如图5所示.一般采用奇数点的邻域来计算中值.但如果像素点数为偶数时,中值就取排序像素中间两点的平均值。
中值滤波在一定条件下,可以克服线性滤波器(如均值滤波等)所带来的图像细节模糊,而且对滤除脉冲干扰即图像扫描噪声最为有效。
在实际运算过程中并不需要图像的统计特性,也给计算带来不少方便。
但是对一些细节多,特别是线、尖顶等细节多的图像不宜采用中值滤波。
Matlab程序如下:
>>c=medfilt2(b,[3,3]);
>>imshow(c);
图5中值滤波后图像
标准中值滤波算法的基本思想是将滤波窗口内的最大值和最小值均视为噪声,用滤波窗口内的中值代替窗口中心像素点的灰度,在一定程度上抑制了噪声。
实际上在一定邻域范围内具有最大或最小灰度值这一特性的,除了噪声点,还包括图像中的边缘点、线性特征点等。
中值滤波以此作为图像滤波依据,其滤波结果不可避免地会破坏图像的线段、锐角等信息。
因此,要找到一种既能实现有效滤除噪声,又能完整保留图像细节的滤波机制,仅考虑噪声的灰度特性是难以实现的。
4.3图像增强
如果一幅图成像时由于光线过暗或曝光不足,则整幅图偏暗(如灰度范围从0
到63);光线过亮或曝光过度,则图像偏亮(如灰度范围从200到255),都会造成图像对比度偏低问题,即灰度都挤在一起了,没有拉开,为了更方便的得到效果,提升识别率,对得到的灰度图像做灰度增强,首先用strel函数对原始图像进行开操作的到图像的背景图像。
Matlab程序如下:
>>s=strel('disk',13);
>>d=imopen(c,s);
>>subplot(1,2,1);
>>imshow(d);
>>title('背景图像');
>>e=imsubtract(c,d);%中值滤波后图像减去背景图像
>>subplot(1,2,2);
>>imshow(e);
>>title('增强黑白图像');
图6灰度修正后图像
4.4直方图均衡化
直方图是用来表达一幅图像灰度等级分布情况的统计表。
通过对图像中像素个数多的灰度值(及对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(及对画面不起主要作用的灰度值)进行归并,从而达到清晰图像的目的,其本质上是一个直方图变换,即将输入图像的直方图映射成一个最大平展的直方图。
实验效果如图8。
经过直方图均衡化处理以后,图像的灰度分布变得均匀,原来偏暗的图像亮度明显增强,
图像变得更为清晰。
Matlab程序如下:
>>subplot(1,2,1);
>>imhist(e);
>>[f,g]=histeq(e,64);%图像灰度扩展到0~255,有64个灰度级
>>subplot(1,2,2);
>>imhist(f);
>>imshow(f);
图7直方图均衡化前(左)后(右)
4.5图像二值化
图像的二值化处理就是将图像上的点的灰度置为两个数值,通常为0或255。
使整个图像呈现出明显的黑白效果。
也就是将256个亮度等级的灰度图像通过适当的门限值选取而获得仍然可以反映图像整体和局部特征的二值化图像嘲。
基于像素数目的直方图阈值分割是本文采用的二值化算法,它的好处在于可以减少直方图的不同形状对二值化效果的影响。
其步骤如下:
计算直方图,在直方图中由0至255进行累加计算,当像素数目大于某个值时.将当前像素值作为二值化门限。
当大于当前像素值的像素点在图像中所占的数量,也就是车牌中背景像素所占的比例称为该副图像的阈值。
经过对一些图片的计算.确定该阈值在图像像素数目的60%-80%之间。
阈值的取值不同,对二值化的结果影响很大。
越小包含越多背景的高光部分,越大损失越多字符像素。
对增强黑白后图像进行二值化处理。
Matlab程序如下:
>>h=im2bw(e,0.299);
>>imshow(h)
图6二值化后图像
4.7形态学处理
二值化后的车牌图像还存在许多干扰区域,若直接进行车牌定位,很容易出现误定位或增加了车牌定位的计算量,因此可以利用数学形态学算子,简化图像数据,保持图像的基本形状特征,去除不相干的结构。
二值图像的逻辑运算,水平方向的噪声去除和消除孤立的亮点,这两个步骤是通过对图像的亮度矩阵行方向的运算和逻辑判断来实现的,这对于实现以形态学为基础的图像处理算法是一种有力的补充手段。
膨胀与腐蚀,膨胀最简单的应用之一是将裂缝桥接起来,A被膨B胀可定义为:
而腐蚀的一种最简单的用途是从二值图像中根据尺寸消除不相关的细节,对集合Z中的集合A和B,使用B对A进行腐蚀,定义为:
开操作与闭操作正如仿真图像所示,膨胀使图像扩大而腐蚀使图像缩小。
开操作一般使对象的轮廓变得光滑,断开狭窄的间断和消除细的突出物。
闭操作同样使轮廓线更光滑,但是与开操作相反的是,它通常消弥狭窄的间断和长细的鸿沟,消除小的孔洞,并填补轮廓线中的断裂。
使用结构元素B对集合A进行开操作,定义为:
因此,用B对A进行开操作就是用B对A腐蚀,然后用B对结果进行膨胀。
同样,使用结构元素B对集合A的闭操作,定义为:
通过仿真图像我们可以看出这是我们已经可以初步的定位到车牌的位置了。
Matlab进行开闭运算的程序;
>>h=double(h);
>>grd=edge(h,'canny');%识别图像中的边界
>>imshow(grd);
>>title('提取边缘');
>>bg1=imclose(grd,strel('rectangle',[5,19]));%取矩形框的闭运算
>>subplot(2,2,1),imshow(bg1),title('图像闭运算');
>>subplot(2,2,1),imshow(bg1),title('图像闭运算');
>>bg3=imopen(bg1,strel('rectangle',[5,19]));%取矩形框的开运算
>>subplot(2,2,2),imshow(bg3),title('图像开运算');
>>bg2=imopen(bg3,strel('rectangle',[19,1]));%取矩形框的开运算
>>subplot(2,2,3),imshow(bg2),title('图像开运算');
图7边缘提取
4.8车牌定位
对形态处理后的图像进行区域提取,并进行区域特征参数的计算,进行区域参数比较提取车牌区域。
1)对得到的图像的每个区域进行标记,再计算每个区域的图像特征参数:
区域中心位置、最小的包含矩形和他们的面积。
进行颜色标记的主要Matlab程序如下:
>>[L,num]=bwlabel(bg2,8);%标注图像中的连接部分
>>Feastats=imfeature(L,'basic');%计算图像区域的特征尺寸
>>Area=[Feastats.Area];%计算面积
>>BoundingBox=[Feastats.BoundingBox];%车牌框架的大小
>>RGB=label2rgb(L,'spring','k','shuffle');%标志图像向RGB转换
>>subplot(2,2,4),imshow(RGB),title('图像彩色标记');%输出框架彩色图像
图8图像心态处理和车牌定位
2)通过计算,得到包含标记的区域的最小宽和高,根据先验只是,比较傲睡得
宽和高更接近实际的车牌宽高比,将更接近的提取并显示。
图10提取出的车牌及其二值子图
5总结
车牌图像预处理是车牌识别系统的基础环节,其结果直接影响后续的车牌识别工作。
实际应用中的图像包括各种条件下采集到的不同大小的车牌图像,要尽量消除噪声,提高图像质量,就要选取恰当的图像预处理方法,以提高识别率。
本文结合多种图像处理方法来进行车牌图像预处理,实验效果证明,本文的预处理方法能有效地去除图像噪声和多余信息、提高图像质量,便于进行后续的车牌图像识别工作。
参考文献
[1]何玉明.高速公路收费系统中车牌识别关键技术的研究[D].广东:
华南理工大学,2004
[2]朱维仲,董彩平.中值滤波技术及其在图像处理中的应用[J].天津职业技术师范学院学报.
2002,12(3):
42-44
[4]刘卫国.MATLAB程序设计与应用[M].北京:
高等教育出版社,2002
[5]王刚,冀小平.基于MATU旧的车牌识别系统的研究[J].电子设计工程,2009(11):
72—73
[6]张引.基于空间分布的图像二值化算法[J].浙江大学学报,2004,5(5):
9—10.
[7]林蔚天.图像处理与汽车牌照识[J].山东理工大学学报,2007,11(6):
46—48.
[8]孔宏琦.利用中值滤波进行图像处理[J].长安大学学报,2006,3(7):
67—68.
课程设计论文
指导老师何伟刚
学院电气与信息工程学院
班级电子112班
学生姓名言经官
学号201100303056
二〇一四年五月二十日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 数字图像 处理 车牌 识别 系统