1、数字图像处理车牌识别(车牌定位)学 院: 班 级:学 号:姓 名: 2一、 车牌识别系统的背景、现状和发展趋势1. 车牌识别系统的背景及研究意义随着经济社会的迅猛发展,人们的生活水平的提高,机动车辆的数量也越来越多。为了提高车辆的管理效率,缓解公路上的交通压力,我们必须找到一种解决方案。而作为汽车“身份证”的汽车车牌,是在公众场合能够唯一确定汽车身份的凭证。我们可以以此为依据,设计一种车牌识别系统监控各个车辆的情况。为此,我国交通管理部门对汽车车牌的管理非常重视并制定了一套严格的管理法规。其中对汽车车牌的制作、安装、维护都要求由制定部门统一进行管理。在此基础上,如果研制出一种能在公众场合迅速准
2、确地对汽车牌照进行自动定位识别的系统(CPR),那么这将是一件非常有意义的工作,并将极大地提高汽车的安全管理水平及管理效率。车辆牌照定位与识别是计算机视觉与模式识别技术在智能交通领域应用的重要研究课题之一, 该技术应用范围非常广泛, 其中包括: (1) 交通流量检测; (2)交通控制与诱导;(3) 机场、港口等出入口车辆管理;(4) 小区车辆管理;(5) 闯红灯等违章车辆监控;(6) 不停车自动收费;(7) 道口检查站车辆监控;(8) 公共停车场安全防盗管理;(9) 计算出行时间;(10) 车辆安全防盗、查堵指定车辆等。其潜在市场应用价值极大,有能力产生巨大的社会效益和经济效益。 如图 1 所
3、示,LPR 1的部分应用:图 1 LPR 在收费口、道路监控和停车管理中的应用近些年,计算机的飞速发展和数字图像技术的日趋成熟,为传统的交通管理带来重大转变。先进的计算机处理技术,不但可以将人力从繁琐的人工观察、检测中解放出来,而且能够大大提高其精确度,汽车牌照自动识别系统就是在这样的背景与目的下进行开发的。汽车牌照自动识别系统(VLPRS)是对由公路上配置的摄像头拍摄的照片进行数字图像处理与分析,综合应用大量的图像处理最新成果和数学形态学方法对汽车图像进行平滑、二值化、模糊处理、边缘检测、图像分割、开运算、闭运算、区域标识等多种手段以提取车牌区域,进而达到对汽车牌照的精确定位并最终完成对汽车
4、牌照的识别。 从 20 世纪 80 年代,国内外的研究人员就开始了对车牌识别系统的研究。在车牌识别的过程中,虽然运用了很多的技术方法,但由于外界环境光线变化、光路中有灰尘、季节环境变化及车牌本身被污染而模糊等条件的影响,使得车牌识别系统一直处于实验室阶段,得不到很好的应用;而且,很多的方法都需要大量的数值计算,不能很好地满足实时性要求。为了解决图像恶化的问题,目前采取的办法是采用主动红外照明摄像或使用特殊的传3感器来提高图像的质量。虽然提高了识别率,但是,这同时也造成了系统的投资成本过大,应用领域变窄,不能普遍推广应用。车辆牌照定位与识别是计算机视觉与模式识别技术在智能交通领域应用的重要研究课
5、题之一, 该技术应用范围非常广泛。国外汽车牌照识别系统研究工作已有一定进展, 但并不尽合我国国情。我国汽车牌照的规范悬挂位置不唯一,并且由于环境、道路或人为因素造成汽车牌照污染严重, 这种情况下国外发达国家不允许上路, 而在我国仍可上路行驶等。由于我国汽车车牌识别的特殊性, 采用任何一种单一识别技术均难以奏效。目前正在研制的无源型汽车牌照智能识别系统综合利用了车辆检测技术、计算机视觉(Computer Vision) 技术、图象处理技术、人工智能技术和人工神经网络技术等, 是一个比较有发展前途的车牌识别系统。 2.车牌识别系统的国内外现状车牌自动识别技术的研究国外起步地较早。早在 20 世纪
6、80 年代,便有一些零零散散的图像处理方法用于车牌自动识别的某些具体应用。在这个阶段,车牌自动识别技术的研究还没有形成完整的系统体系,一般采用简单的图像处理方法来解决某些具体问题,并且最终结果通常需要人工干预。进入 20 世纪 90 年代后,车牌自动识别的系统化研究开始起步。典型的如A.S.Johnson 等提出车辆牌照的自动识别系统分图像分割(Image Segment)、特征提取(Feature Extraction)和模板构造 (Template Formation)、字符识别(CharacterRecognition)等三个部分,完成车牌的自动识别。R.A.Lotufo 使用视觉字符识
7、别技术(Optical Character Recognition Technology)分析所获得的图像,首先在二值化图像中找到车牌,然后用边界跟踪技术提取字符特征,再利用统计最邻近分类器(Statistical Nearest Neighbor Classifying System)与字符库中的字符比较,得出一个或几个车牌候选号码,再对这些号码进行核实检查,确定是否为该车牌号码,最终确定车牌号码。这个时期的应用在识别正确率方面有所突破,但还没有考虑识别实时性的要求,识别速度有待进一步提高。 由于我国的车牌格式和国外有较大的差异,所以对于国外的车牌识别系统的研究技术,我们只能进行参考,不能进
8、行直接应用。虽然我国车牌的识别需要识别汉字,但是对于英文字母和数字的识别,我们可以借鉴国外的研究技术。从 80 年代中期开始,ARGUS 英国 Alphatech 公司就开始了名为 RAUS 的车牌自动识别系统的研制。ARGUS 的车牌识别系统的识别时间约为 100 毫秒,通过 ARGUS 的车速可高达每小时 100 英里。还有 Hi-Tech 公司的 See/Car system,新加坡 Optasia 公司的 VLPRS 等。另外日本、加拿大、德国等发达国家都有适用于本国的车牌识别系统。国内在 90 年代也开始了自己的车牌识别系统的研究。目前比较成熟的产品有中科院自动化研究所汉王公司的汉王
9、眼,香港亚洲视觉科技有限公司的慧光车牌号码识别系统等4等。另外西安交通大学的图像处理和识别实验室、上海交通大学的计算机科学和工程系、清华大学人工智能国家重点实验室、浙江大学自动化系等都做过类似的研究。虽然这些车牌识别系统的识别率大多都比较高,如 95%,甚至 97%、98%,但是这些车牌识别系统的识别检测结果大多数是在简单受限制的场景下取得的,在实际的交通场合以及更加复杂的背景环境的情况下,这些车牌识别系统的识别率一般都达不到 90%,甚至更低。二、 划分模块、处理流程1. 车牌识别系统模块划分通常,车牌识别过程分为图像预处理、车牌定位、车牌校正、车牌分割和车牌识别五个部分。图像预处理:在整个
10、车牌识别系统中,由于采集进来的图像为真彩图,再加上实际采集环境的影响以及采集硬件等原因,图像质量并不高,其背景和噪声会影响字符的正确分割和识别,所以在进行车牌分割和识别处理之前,需要先对车牌图像进行图像预处理操作。车牌定位:首先对车牌的二值图片进行形态学滤波,使车牌区域形成一个连通区域,然后根据车牌的先验知识对所得到的连通区域进行筛选,获取车牌区域的具体位置,完成从图片中提取车牌的任务。车牌校正:由于捕捉图片的摄像头与车身的角度问题,得到的车牌图片不是水平的。为了顺利进行后续的分割和识别,必须对车牌进行角度校正。在此,使用了 Radon 变换来对车牌进行校正。车牌分割:首先对车牌进行水平投影,
11、去除水平边框;再对车牌进行垂直投影。通过对车牌进行投影分析可知,与最大值峰中心对应的为车牌中第二个字符和第三个字符的间隔,与第二大峰中心距离对应的即为车牌字符的宽度,并以此为依据对车牌进行分割。字符识别:本文采用模板匹配方法来对车牌进行识别。识别过程中,首先建立标准字库,再将分割所得到的字符进行归一化,将归一化处理后的字符与标准字库里的字符逐一比较,最后把误差最小的字符作为结果显示出来。本文采用成熟的数字图像处理技术和 Matlab 仿真工具,使得文中所提出的算法得以实现。如图 1 所示为采用 Matlab 实现车牌字符分割技术的程序流程。2. 车牌识别的流程和方法开 始 车牌定位车牌校正字符
12、分隔字符识别结 束图 1 系统工作流程5三、 设计方案(图像预处理)1、图像预处理功能模块层次图图像预处理灰度化子模块图像增强子模块二值化子模块边缘检测子模块滤波子模块1.1 灰度化子模块数字图像分为彩色图像和灰度图像。在 RGB 模型中,如果 R=G=B,则表示一种灰度颜色,其中 R=G=B 的值叫做灰度值,通常用 g 来表示。将彩色图像转换为灰度图像的过程叫做灰度化处理。由于彩色图像的存储空间较大,因此,在对图像进行识别等处理过程中,需要将彩色图像转换为灰度图像,以加快后续工作的处理速度。对于将彩色图象转换成灰度图象时,图象灰度值可由下面的公式计算:G=0.110B+0.588G+0.30
13、2R G= 3RGB在 Matlab 中,实现灰度化的程序语句如下:I=imread(car.bmp);figure(1),imshow(I);title(原图)I1=rgb2gray(I);figure(2),subplot(1,2,1),imshow(I1);title(灰度图);figure(2),subplot(1,2,2),imhist(I1);title(灰度图直方图);1.2 图像增强子模块由于所拍摄的车辆图像质量受天气、光照和观察点等的影响,车牌图像往往会产生对比度不足的弊端,使图像细节分辨不清,影响识别率。因此,需要将牌照图像进行图像灰度扩展,以便改善图像的观察质量,提高字符
14、识别率。但若对光照条件不好的暗图像采用 HE的方法将灰度级扩展到 256 级的全局范围,则会造成过度拉伸,图像失真较大。6本文采用灰度信息与背景信息相结合的局部灰度修正增强方法,其基本原理是将原图像的灰度和背景图像区域相减,实现图像的增强。图 2 为通过此方法处理后得到的增强图像。程序语句:s=strel(disk,10);Bgray=imopen(Sgray,s);figure,imshow(Bgray);title(背景图像);%用原始图像与背景图像作减法,增强图像Egray=imsubtract(Sgray,Bgray);figure,imshow(Egray);title(增强黑白图像
15、);1.3 图像二值化子模块灰度图像有 256 个灰度级的单色图像,多级别图像能够呈现出较为丰富的明暗度,但对于目标搜索来说,总是希望尽可能地减少背景像素的干扰而保存或增强目标区的色素度。图像的二值化可以把像素灰度级分成黑与白两级,即把原灰度图像转化为二值图像。1.4 边缘检测子模块边缘是指图像局部亮度变化最显著的部分。边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征提取和形状特征提取等图像分析的重要基础,图像分析和理解的第一步常常是边缘检测。为得到较好的边缘检测性能,采用 ROBERT 算子对图像进行边缘提取。程序语句:I2=edge(I1,robe
16、rt,0.15,both);figure(3),imshow(I2);title(robert 算子边缘检测)1.5 滤波子模块数学形态是一种非线性滤波方法,可以用于抑制噪声,进行特征提取、边缘检测、图像分割等图像处理操作。形态学滤波有四种基础操作:腐蚀、膨胀、开操作和闭操作。本系统运用5,19的矩形运算算子,通过对图像进行一系列的开闭操作,有效地将车牌区域连成片,并去除了非车牌区域。2.车牌定位和分割车牌的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准
17、确与否直接关系到整个牌照字符识别系统的识别率。由于牌照图象在原始图象中是很有特征的一个子区域,确切说是水平度较高的横向近似的长方形,它在原始图象中的相对位置比较集中,而且其灰度值与周边区域有明显的不同,因而在其边缘形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割。7对图像进行腐蚀去除杂质通过计算寻找 X 和Y 方向车牌的区域完成车牌定位对分割出的车牌做进一步处理图2 牌照定位于分割流程图2.1 车牌区域的定位牌照图象经过了以上的处理后,牌照区域已经十分明显,而且其边缘得到了勾勒和加强。此时可进一步确定牌照在整幅图象中的准确位置。这里选用的是数学形态学的方法,其基本思想是用具有一定形
18、态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。在本程序中用到了膨胀和闭合这两个基本运算,最后还用了bwareaopen来去除对象中不相干的小对象。程序语句:y,x,z=size(I5);myI=double(I5);ticBlue_y=zeros(y,1);for i=1:yfor j=1:xif(myI(i,j,1)=1) Blue_y(i,1)= Blue_y(i,1)+1;%蓝色像素点统计 end end endtemp MaxY=max(Blue_y);%Y 方向车牌区域确定PY1=M
19、axY;while (Blue_y(PY1,1)=50)end 8PY2=MaxY;while (Blue_y(PY2,1)=50)endPX1=PX1-1;%对车牌区域的校正PX2=PX2+1;dw=I(PY1:PY2-8,PX1:PX2,:);t=toc; figure(7),subplot(1,2,1),imshow(IY),title(行方向合理区域);figure(7),subplot(1,2,2),imshow(dw),title(定位剪切后的彩色车牌图像)2.2 车牌区域分割对车牌的分割可以有很多种方法,本程序是利用车牌的彩色信息的彩色分割方法。根据车牌底色等有关的先验知识,采用
20、彩色像素点统计的方法分割出合理的车牌区域,确定车牌底色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。2.3 车牌进一步处理经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群,即对图像二值化。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。再用模板中的全体像素的平均值来代替原来像素值。9四、仿真实验4.1 灰度化子模块图 1.原始图像 图 2.灰度图像和灰度直方图104.2 图像增强子模块图 3 增强图像 4.3 图像二值化子模块图 4.图像二值化