1车牌识别【摘要】本文针对倾斜的车牌图像、模糊车牌图像及模糊车牌视频提取车牌信息的问题,通过利用Matlab软件图像处理功能,从图像预处理、图像边缘检测、车牌定位处理、车牌字符分割处理以及车牌字符识别五个方面,对所给的图像和视频进行了车牌信息提取,并给出了识别结果。针对问题一:由于image_1图像中车牌在水平方向倾斜了一定的角度,利用优化的Radon变换对image_1图像中车牌进行水平校正,再采用prewitt算子进行边缘检测,然后图像进行图像腐蚀、平滑图像轮廓处理,裁剪出只包含车牌的图像,再将裁剪的车牌进行灰度化、二值化、膨胀等处理,以便车牌字符分割,然后再将分割后的字符依次进行识别。其识别结果为:渝D7G328。针对问题二:由于image_2和image_3两幅图像所含噪声较多,图像非常模糊,因此我们需先将图像进行适当的关键信息复原,利用一系列方法从退化的观测图像中恢复出原始图像。对图像的退化过程建立相应的数学模型,然后通过求解该过程的逆过程来获得对原图像的合理估计。在得到较清晰的图像之后,再按照问题一的车牌识别方法流程进行处理。处理结果为:image_2为京DZ4P45,image_3为苏BWA455。针对问题三:由于所给的视频比较模糊,分辨率低,想要找出肇事车辆车牌信息,不能如图一那样直接进行车牌识别处理,这里我们采用多帧超分辨率恢复技术,通过对视频中多个模糊但连续相关的帧,最终得到一幅高分辨率图像。于是我们将视频按帧分解得到一系列图片,从中筛选出与肇事车辆相关的图片,并选择适合分析的图片进行处理。其预测结果为:甘AP3637。关键词:Matlab模糊图像处理车牌定位字符分割字符识别21问题重述车牌识别(VehicleLicensePlateRecognition,VLPR)是现代智能交通系统中的重要组成部分之一,应用十分广泛。它以数字图像处理、模式识别、计算机视觉等技术为基础,对摄像机所拍摄的车辆图像或者视频序列进行分析,得到每一辆汽车唯一的车牌号码,从而完成识别过程。通过一些后续处理手段可以实现停车场收费管理、交通流量控制指标测量、车辆定位、汽车防盗、高速公路超速自动化监管、刑侦等等功能。对于维护交通安全和城市治安,防止交通堵塞,实现交通自动化管理有着现实的意义。但是目前对于一些部分特殊车牌图片的识别仍然存在部分困难,如旋转、低分辨,以及模糊低分辨的视频等。请同学们通过查询资料,构造模型解决下列问题。1)提取image_1图像中车牌,并输出结果;2)提取image_2,image_3图像中车牌,并输出结果;3)提取视频video_1中的肇事车辆车牌信息,并尽可能地给出你的预测结果。2模型假设[1]假设问题二中的图像车牌是符合我国实际使用车牌的真实情况;[2]假设问题二、问题三中的车牌不存在损坏情况;[3]假设问题二、问题三中的车牌不存在故意遮挡情况;3符号说明模糊角度1image_1图像中车牌与水平方向的夹角二维空间中Radon变换的原点到直线的距离34模型的建立和求解4.1问题一4.1.1问题分析根据问题一的要求,需要提取image_1图像中的车牌,并输出结果。我们采用Matlab软件的图像处理功能,并通过编程提取image_1图像中的车牌信息。通过观察image_1图像中的车牌,可以发现该图中的车牌比较清晰,但是该车牌在水平方向上倾斜了一定的角度。我们首先需要对image_1图像中的车牌进行水平方向的校正,以便后续提取车牌位置信息和防止在车牌信息字符分割中出现错位情况;然后通过Matlab对图像进行图像腐蚀、平滑图像轮廓等操作,对车牌进行定位处理;确定车牌位置信息后,对image_1图像进行裁剪,得到只包含车牌信息的图片;然后对裁剪后的车牌进行灰度、二值化、滤波等处理,以便对车牌字符信息的分割;再将分割后的字符信息依次进行识别,并输出识别结果。4.1.2模型的建立和求解车牌识别的模型建立就是从车辆图像中提取出车牌图像,然后找到字符的分解点,把车牌图像分割成单个的字符区域,最后采用一定的方法逐一识别出每个字符的所属类别。车牌识别整体的设计流程如图4-1所示:4-1车牌识别设计流程图根据设计流程图,提取image_1图像中的车牌信息主要分为4个步骤:图像预处理、车牌信息定位处理、字符分割和字符识别。下面将一一介绍各步骤的原理以及运用Matlab软件处理得的结果。(1)图像预处理以上问题分析中已经提到,首先需要对image_1图像进行水平方向的校正。通过查阅资料,图像倾角的校正方法有如下四种:Hough变换法,Radon变换法,最小二乘法和两点法。由于Radon变换法的抗干扰能力强,我们此次选用该方法作为图像校正方法。输入车牌图像图像预处理车牌定位处理字符分割处理字符识别处理4Radon变换理论是基于这样一种投影理论,一条直线沿它的法线方向投影,所得的投影最长;而沿与其平行方向投影,则所得的投影最短。Radon变换法原理介绍如下:二元函数),(yxf的投影是在某一方向上的线积分,例如),(yxf在垂直方向上的线积分是),(yxf在x方向上的投影,在水平方向上的线积分是在y方向上的投影,沿'y方向的线积分是沿'x方向上的投影。图4-2是矩形函数在水平、垂直方向以及沿角方向的投影。图4-2矩形函数在水平垂直方向和沿角方向的投影投影可沿任意角度进行,通常),(yxf的Radon变换是),(yxf平行于'y轴的线积分,公式如下:')cos'sin',sin'cos'()'(dyyxyxfxR(1)其中:yxyxcossinsincos''(2)5),(yxf在二维空间中的Radon变换为:dxdyyxyxfRD)sincos(),(),((3)其中,为模糊角度;为原点到直线的距离;D是被积函数所在区域;为冲激函数。对于图像而言,保持的取值不变,改变值,得到图像在方向上不同距离的投影;同理,令值一定,改变的取值,得到图像在一定距离时不同方向上的投影。这样,Radon变换将图像转换成图像在平面上的投影,灰度值高的直线被投影成一个亮点,灰度值低的线被投影成一个暗点。因此,图像),(yxf中直线拟合的问题就被转换成平面中亮、暗点的扫描问题。由于Radon变换法的运算量大,程序执行慢,需要对该方法进行改进。我们采用不对整幅图像进行操作,在图像中选取一块区域进行操作,但该区域需要包含一条与倾角有关的直线,这样可以减小运算量。在Matlab软件中,首先将image_1图像转换为灰度图像,再进行进行直方图均衡化处理,如图4-3所示。图4-3原图灰度化和直方图均衡化处理结果然后再使用Sobel水平算子对image_1图像进行边缘化处理,并且对图像进行剪切,保留图像中的一条直线,以便减小后面使用Radon变换的计算量。然后计算边缘图像的Radon变换,并检测Radon变换矩阵中的峰值所对应的列坐标,从而确定需要对image_1图像旋转的角度。得到校正后的原图和直方均衡化处理的结果如图4-4所示。6图4-4校正后的处理结果(2)车牌定位车牌区域具有3个基本特征:在一个不大的区域内密集包含有多个字符;车牌字符与车牌底色形成强烈对比;车牌区域大小相对固定,区域长度和宽度成固定比例。因此采用prewitt算子进行边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,并对噪声具有平滑作用。其处理结果如图4-5所示。图4-5边缘检测处理结果再对边缘检测处理的结果进行图像腐蚀处理。同时构造一个长方形的结构元素对象,对车牌图像实现闭运算,去掉小洞,填补轮廓上的缝隙,实现车牌图像轮廓更加平滑。然后再从平滑后的图像中去掉小对象,并对剩下的区域进行裁剪,实现车牌位置的定位。其处理结果如图4-6所示。图4-6图像腐蚀、平滑和移除小对象处理结果7(3)字符分割车牌定位以后的图像还是一个整体,包括文字和文字之间的蓝色区域,所以还需要对已提取出来的车牌中的字符进行字符分割。在车牌字符分割之前,需对车牌定位后的图片进行灰度化和直方图均衡化处理,再将灰度图像进行二值化处理。由于二值化处理得到的图像比较小,我们对二值化处理后的图像进行膨胀处理,放大了二值化处理图像。车牌二值化处理和膨胀处理结果如图4-7所示。图4-7二值化和膨胀处理结果膨胀后的图像仍是二值化图像,是由黑色像素和白色像素组成。运用的逻辑矩阵也只包括0和1,则让逻辑0表示黑色像素,逻辑1表示白色像素。采用按列扫描车牌,检测车牌内部的点及边缘与字体不接触的最近的黑点。若当前点的左、右、上、下侧有白点,则认为该点属于字符内部的点,且根据标识符判断字符的边缘,将该边缘点所在的列号进行记录保存。同时需要修正一些误判情况,若为两个字粘连的情况,则将两个字符各设为固定值,求得其实际列号;修正由于第二个字符和第三个字符之间的安装螺丝钉而影响到的距离。然后循环计算7个字符。其字符分割处理的结果如图4-8所示。图4-8字符分割处理结果(4)字符识别根据上面字符分割处理的结果,需要对各个字符进行识别,并保存识别结果,如以表格的形式保存在excel表格中。在这里采用模版匹配法对字符进行识别,该方法就是设计出一个固定的模版和一个用来度量匹配程度的评价函数,然后用待识别的数据与标准模版进行比对,根据它们的匹配程度确定最终的识别结果。而度量匹配程度的方法采用计算待识别的数据与标准模版的相似度。显然,待识别的数据与标准模版的相似度越大,匹配程度越高。计算相似度8的公式如下:),(11),(*),(11jifjRowiColjigjifjRowiColSfg(4)其中,),(jif为待识别字符图像,),(jig为标准模版,Row和Col分别为图像的行数和列数。首先提取出模版图像的N维特征值保存在模版库中,然后提取出字符图像的N维特征值,打开对应的模版库,依次读取库中的记录,并计算该字符的特征值与模版记录中的相似程度,选用最大相似度模版匹配算法作为判定准则,得出最终的字符识别结果。其流程图如图4-9所示。图4-9字符识别流程图4.1问题二4.2.1问题分析通过观察image_2以及image_3图像中的车牌,可以发现图像非常模糊,因此需先将图像进行适当的关键信息复原,利用一系列方法从退化的观测图像中恢提取字符特征矢判断字符所在汉字模版库字母模版库字母数字模版库输入字符显示并保存结果9复出原始图像。对图像的退化过程建立相应的数学模型,然后通过求解该过程的逆过程来获得对原图像的合理估计。在得到较清晰的图像之后,再利用一般的车牌识别方法进行处理,并选择合适的处理方法。总体大致的流程为模糊图像预处理,车牌定位,字符分割,字符识别,字符输出显示。4.2.2模糊图像预处理对模糊车辆图像进行预处理是整个车牌识别系统最重要的的部分,因为预处理如果失败的话,就会导致牌照识别失败或更大的错误。而本次处理的两幅图像中,可以看到其具有图像退化的典型表现,如图像模糊、失真、有噪声等,为了尽可能恢复图像原来的真实面貌,首先从图像退化机理入手,即用数学模型描述图像的退化过程,然后在退化模型的基础上求其逆过程的模式,从退化图像中较准确地求出真实图像。通过观察图像image_2以及image_3,可以初步判断引起图片模糊的主要因素有噪声和低分辨率。(1)图像去噪在本次图像处理中主要针对高斯噪声,下面给出高斯噪声的概率密度函数。高斯噪声又称为正态噪声,是最普遍的一种噪声,高斯随机变量z的概率密度函数为:22()/21p()2suze(5)其中,u表示z的平均值或期望值,z表示灰度值,表示z的标准差,2表示z的方差。在模糊图像中需要知道二维高斯函数,将上式推广到二维平面得:222()/221(,)2xyhxye(6)本次处理采用中值滤波,线性平滑滤波器在消除噪声的同时也会使图像中的一些细节变得模糊而难以辨认,中值滤波是一种非线性滤波,中值滤波在消除噪声的同时还