一 车牌自动识别系统总体设计
基于matlab的车牌识别系统,第一种方法采用图像分割与图像增强的方法,采集的车牌后将图像传入程序中,对图像进行处理后将车牌号提取出来,然后与数据库的样本进行对比后输出结果。 本课题拟采用的思路:
|
车牌识别系统主要包括图像的采集与预处理、区域搜索与分割、字符分割、字符识别。通过摄像机采集到的车牌图片进行提前的初步操作。随后对于操作后的图片进行搜索与分割。通过字符分割算法对图片进行划分。通过归一化这种方法,间接实现字符特征提取,为字符识别提供有效信息。
二 图像处理
这种软件系统中最重要的两个功能就是图像分析与软件的处理。针对图片的处理涉及到的方法有灰度化处理,灰度拉伸增强对比度,滤波处理降低噪点,进而采用小波变换分析提取图片的边缘。通过处理后的图片车牌的显示就非常清晰,此时车牌区域与非车牌区域已经分开,根据定位方法可以较容易的进行精确的定位。
图3.2原图、图3.3灰度图与直方图
2.2 边缘提取
图3.5 灰度增强后的图像
2.3 平滑处理
其中,M 为邻域中除中心象素点f(i,j) 之外包括的其它象素总数,对于4邻域M=4,8 邻域M=8。然而,邻域平均值的平滑处理会使得图象灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。为了克服这种平均化引起的图象模糊现象,我们给中心点象素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图象模糊。
图3.8 平滑处理后的图像
图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。边缘提取是较经典的算法,此处边缘的提取采用的是Roberts算子。
图3.9 未滤波直接提取出的边缘
图3.10 经灰度校正后提取的边缘
图3.11 经平滑处理后提取的边缘
对比以上几幅图片,图8的边缘已经模糊掉了。图7中包含的噪声太多,图3.9未经滤波直接提取出的边缘图像最清晰,所包含的有用信息最多。分析这种情况产生的原因,归纳起来主要有以下方面:
1、原始图像清晰度比较高,从而简化了预处理
2、图像的平滑处理会使图像的边缘信息受到损失,图像变得模糊
3、图像的锐化可以增强图像中物体的边缘轮廓,但同时也使一些噪声得到了增强
三 牌照的定位和分割
3.1牌照区域的定位
牌照图象经过了以上的处理后,牌照区域已经十分明显,而且其边缘得到了勾勒和加强。此时可进一步确定牌照在整幅图象中的准确位置[34]。这里选用的是数学形态学的方法,其基本思想是用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构[35]。在本程序中用到了膨胀和闭合这两个基本运算,最后还用了bwareaopen来去除对象中不相干的小对象。
图3.13 腐蚀后图像
3.14 平滑图像的轮廓
图3.15 从对象中移除小对象后图
3.2牌照区域的分割
对车牌的分割可以有很多种方法,本程序是利用车牌的彩色信息的彩色分割方法。根据车牌底色等有关的先验知识,采用彩色像素点统计的方法分割出合理的车牌区域,确定车牌底色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域[36]。
图3.16 行方向区域和最终定位出来的车牌
3.3车牌进一步处理
经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群,即对图像二值化。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。再用模板中的全体像素的平均值来代替原来像素值[37]。
图3.17 裁剪出来的车牌的进一步处理过程图
四 字符的分割与归一化
图3.18 字符分割与归一化流程图
4.1字符分割
一般情况下车牌字符间的间隔相对较大,不会出现所谓的识别性的粘连。字符分割经常是对有连续的文字存在的情况下或字符长度超过某一个阈值,这时就需要进行分割。字符分割是处于字符识别前的有效地准备,有助于实现字符的精确识别。
图3.20 分割出来的七个字符图像
4.2字符归一化
在不同的场合下所采取的图片不相同,由于位置或拍摄角度不同或造成图片中车辆的大小上存在差异,这种情况下车牌文字大小也不相同,在切分后或导致很多差异。这些差异就造成了对后续文字的识别的准确性有很大的影响。
图3.21 归一化处理后的七个字符图像
4.3 字符的识别
字符的识别目前用于车牌字符识别(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神经网络的OCR算法。基于模板匹配的OCR的基本过程是:首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。
图3.22 字符识别流程图
取字符模板,接着依次取待识别字符与模板进行匹配,将其与模板字符相减,得到的0越多那么就越匹配。把每一幅相减后的图的0值个数保存,然后找数值最大的,即为识别出来的结果。
图3.23 识别结果
五 设计结果与分析
车牌照的检测,结果如图4所示。
采用彩色通道的牌照区域分割算法进行拍照的分割具有较好的精确性,优点在于本身的色差,一定条件下提高了检测的准确性。这种方法采用MATLAB 语言进行编程实现,从结果看这种方法没有时间的之后。体现出实时监测的要求特性。但实际中这种方法所针对的图片有限制,换一种图片精确度会很大程度上受到影响。