车辆牌照图像识别算法研究与实现_毕业设计论文(编辑修改稿)内容摘要:

值,利用该窗 口在汽车图像上滑动,并计算该窗口所覆盖的那块车牌图像的向量值, 找出最佳的向量值,认为是车牌区域。 (3)直线边缘检测 : 这种方法主要利用 Hough 变化检测车牌周围边框直线。 这种方法 的 缺点是 Hough 变换计算量大,对于边框不连续的实际车牌,需附加大量的运算 [6]。 (4)统计直方图 及投影方法: 该方法通过对图像的水平和垂直两个方向灰度投影直方图来 分析推断出牌照的位置。 该方法的缺点是对噪声敏感,且牌照图像存在 倾斜时,不能达到预期的效果。 第 2类 : 即先对车辆图像进行车牌的粗定位,然后再进行精定位。 所谓粗定位有 西南科技大学 本科生 毕业论文 7 两种含义 : 第 1种粗定位的含义就是从车辆图像中找出车牌的大致位置,它并不要求非常精确的定位出车牌的位 置,只需要给出 包含车牌的相对较小或较大的一块区域就达到目的;第 2种粗定位的含义就是利用粗分割,即给出包含车牌区域在内的若干候选区域,再从这些区域中提取车牌区域 [7]。 这里不再作详细的论述。 系统采用的定位方法 在系统中,采用投影法来实现车辆牌照的定位。 利用水平投影来检测车牌的水平位置,利用垂直投影 和形态学的方法 检测车牌的垂直位置 [8]。 车辆牌照的水平定位 得到二值化图像以后,首先把二值图像投影到 y轴。 根据车牌特征,车牌区域中的垂直边缘较密集,而且车牌一般悬挂在车身较低的位置其下方没有很多的边缘密集区 域。 因此在车牌对应的水平位置上会出现一个峰值,如图 22所示。 峰值的两个低谷点就是车牌的垂直位置,这样就得到了包含了车牌的带状区域。 所以问题转成确定低谷点的位置。 但是从图中可以发现投影图不是十分的 光滑,会给精确定位带来一些困难,所以对投影图进行平滑。 窗口尺寸比较关键,选小了不足以平滑,选大了则会改变投影图原有的基本变化特性。 对于实际的投影曲线可以通过找差分曲线的过零点来确定低谷点,所以对平滑以后的投影图 )(nh 求一阶差分 : )1()()(39。  nhnhnh (23) 找出其由正至负的点,也就是局部最小值。 但是并不是所有的局部最小值之间都能称为峰的,它可能附属邻近的一个峰,因而要确定哪一个局部最小值是峰谷,哪一个是毛刺。 如何判决峰的独立性呢。 本文采取了 3个判决依据 : 1. 独立峰具有一定峰顶和峰谷的落差, 当局部最 大值和邻近的局部最小值的差大于阈值,则该局部最小值为谷底,反之 则为毛刺。 2.独立峰具有一定的宽度, 这是由车牌的宽度信息决定的。 3.独立峰具有一定的面积, 这是因为在经过边缘提取,二值化后,在车牌区 域具有明显的纹理特征。 在光照均匀和背景不是很复杂的图像中 ,车牌的峰值特性十分明显,很容易就可以定位出车牌区域的水平位置。 但在光照不均匀或背景复杂的图像中峰值特性就不是很明显了。 如何准确地确定局部最小值是否为谷底,关键在于阈值的选取。 车辆牌照的垂直定位 西南科技大学 本科生 毕业论文 8 根据车牌的特征可以知道,车牌在垂直方向的投影呈现有规律的 “峰、谷、峰 ”的分布。 字符与字符之间的间隔是近似相等的,而且字符的宽度是近似相等的,而车 ( a) 二值化图像 ( b) 水平 投影图 图 22 水平投影 牌具有 7个字符,所以车牌区域在垂直方向上的投影应该存在 6个低谷点,而且相邻低谷点之间的距离是近似相等的,第二和第三字符之间的距离略大于其他字符间的距离。 但在现实中得到二值图像的 “峰、谷、峰 ”的特点并不十分明显,采用这种方法对车牌的垂直位置进行定位效果不是很好, 本文 考虑使用形态学 与投影法相结合 的方法来对车牌进行垂直定位 ,下面简单介绍图像形态学 [9]。 最初形态学是生物学中研究动物和植物的一个分支,后来也用数学形 态学来表示以形态学为基础的图像分析数学工具。 形态学的基本思想是使用具有一定形态的结构元素来度量和提取图像中的对应形状,从而达到对图像进行分析和识别的目的。 数学形态学可以用来简化图像数据,保持图像的基本形状特性,同时去掉图像中与研究目的无关的部分。 使用形态学操作可以 实现 增强对比度、消除噪声、细化、填充和分割等常用 的 图像处理任务。 数学形态学的数学基础和使用的语言是集合论,其基本运算有四种:膨胀(Dilation ) 、 腐蚀 (Erosion )、 开启 (Open)和闭合 (Close )。 基于这些基本运算还可以推导 和组成各种数学形态学运算方法。 其运算对象是集合,通常给出一个图像集合和一个结构元素集合,利用结构元素对图像进行操作。 结构元素是一个用来定义形态操作中所用到的邻域的形 状和大小的矩阵,可以具有任意的大小和维数。 下面简单介绍一下以上 4种运算。 膨胀 膨胀的运算符为 “ ”,图像集合 A 用结构元素 B 来膨胀,记作 BA ,其定义见式 ( 24) ,其中 ^B 表示 B 的映像,即与 B 关于原点对称的集合。 式 ( 24) 表明,用B 对 A 进行膨胀的过程是这样的 : 首先对 B 作关于原点的映射,再将其映像平移 x , 西南科技大学 本科生 毕业论文 9 当 A 与 B 映像的交集不为空集时, B 的原点就是膨胀集合的像素。 也就是说, 用 B 来膨胀 A 得到的集合是 ^B 的位移与 A 至少有一个非零元素相交时 B 的原点的位置的集合。    ABxBA x ^| ( 24) 膨胀的作用效果如图 23所示。 其中白色表示目标,背景为黑色,结构元素为一33正方形对象。 ( a)膨胀前 ( b)膨胀后 图 23 图像膨胀前后的显示效果对比 腐蚀 腐蚀的运算符是  ,图像集合 A 用结构元素 B 来腐蚀记作 BA ,其定义为 :  ABxBA x  )(| ( 25) 式( 25)表明, A 用 B 来腐蚀的结果是所有满足将 B 平移 x 后, B 仍全部包含在 A 中的 x 的集合,从直观上看就是 B 经过平移后全部包含在 A 中的原点组成的集合。 腐蚀的操作效果如图 24所示,其中白色为目标,黑色为背景,结构元素为一 33正方形对象。 ( a)腐蚀前 ( b)腐蚀后 图 24 图像腐蚀 前后的显示效果对比 开启 开启的运算符为 “ ”, A 用 B 来开启记为 BA ,其定义如下 : BBABA  )(  ( 26) 西南科技大学 本科生 毕业论文 10 闭合 闭合的运算符为 “ ”, A 用 B 来闭合记为 BA ,其定义 见式( 27) : BBABA )(  ( 27) 开启和闭合运算不受原点位置的影响,无论原点是否包含在结构元素中,开启和闭合的结果都是一样的。 开启和闭合操作的效果如图 25所示,其中白色为目标,黑色为背景。 对形态学了解后,我们用形态学来进 行定位,具体算法为: 对得到的带状区域用结构算子先进行一次腐蚀运算,消除一些独立的亮点,但使用的结构算子不能太大,否则会失去一部分车牌的信息。 ( a)原图 ( b)对原图开启操作后 ( c)对原图闭合操作后 图 25 图像的开启、闭合操作的显示效果 再进行二次膨胀运算,由于膨胀的目的是要把车牌区域连通,因此使用的结构算子和腐蚀的结构算子不一样,要略大一些。 最后进行一次开运算,将车牌区域平滑一下。 可以发现车牌 在图像中形成了一个块状区域。 如图 26所示。 将得到的图像再投影到垂直方向,再根据车牌的宽度信息,设定一个范围,可以把这个范围设置大些,这是因为经过形态学变化后,车牌的长度会变大,而且有可能把附近的一些杂点连在一起了,从而增大了车牌连通区域的长度,如果范围定的太小,就有可能检测不到车牌区域 [10]。 定位的算法实现 利用投影法,在 Visual C++中用 C++语言对以上算法进行编程,对车辆牌照进行定位。 实验中水平方向上的定位函数为 HprojectDIB();垂直方向上的定位函数为VprojectDIB();定位以后分割过程所用的函数为 TempSubert(); iTop和 iBottom分别是车牌的上下边缘, iLeft 和 iRight 为车牌的左右边缘。 定出车牌的四个边缘以后, 西南科技大学 本科生 毕业论文 11 就可以通过分割函数 TempSubert()将车牌从源图像中裁减出来,为了使裁减的准确,可以设置边缘的微量调整。 图像定位算法流程图 如 图 27所示。 (a) 水平投影分割得到的图像 (b) 腐蚀运算得到的图像 (c) 第一次膨胀运算得到的图像 (d) 第二次膨胀运算得到的图像 图 26 形态学变化得到的图像 图 27 定位流程图 西南科技大学 本科生 毕业论文 12 实验结果分析 经实验,大部分图片中的牌照能够被正确的定位出来如图 28,极少部分牌照不能正确定位。 实验表明,投影法基本上实现了车辆牌照的定位,但同时不难看出被定位的车牌还包括车牌边框,与理想要求还有很大差距,如果在这些车牌上进行字符分割,将会有很大的困难。 另外在实验中还发现该算法对车牌背景环境要求比较严格,车牌如果比较倾斜或者车牌颜色与汽车颜色相近或者车牌背景中的噪声较大,则定位起 来比较困难,不能实现车牌的精确定位,以后需要进一步改进。 图 28 定位前后的图像 西南科技大学 本科生 毕业论文 13 第 3 章 车辆牌照的字符分割 在做字符分割以前,必须对定位出来的图像做进一步的处理,要对车牌做去边框处理、去噪声处理、梯度锐化、倾斜度调整等预处理才能进行字符分割。 车牌预处理 去边框处理 一般 蓝底白字的车牌都有白色边框,与字符的颜色相同,它的存在将对后继的字符识别造成影响,因此它的滤除十分必要。 滤除上下边框 将检测到的二值牌照图像进行水平投影,在 0IHeight的范围内,计 算各 sum[I],( sum[I]为从 0到 Width的范围内,二值化牌照图像的白像素点数 )然后,将所有的 sum[I]累加起来,记为一值,然后将该值除以 2*Height(2/3)*Height,如果 sum[I]小于该商,就令该 sum[I]为 0。 这样 直方图中必有连零块和非连零块,测试每个非连零块的宽度,如果它不在车牌高度的范围内,就置其为零,那么就将边框滤除了 (其中 Height, Width为牌照图像的高度和宽度 )。 滤除左右边框 滤除左右边框的方法与滤除上下边框的方法类似, 只是阈值有些不同,不再赘述。 去噪声 处理 图像在扫描或者传输过程中夹带了噪声,去噪声是 图像 处理中常用的手法。 通常去噪声用滤波的方法,比如空间域滤波和同态滤波。 采用合适的滤 波方法不但可以滤除噪声还可以对图像进行锐化,增强图像的边缘信息。 下面介绍几种常用的滤波方法。 邻域平均法 为了消除图像中的噪声,可以直接在空间域上对图像进行平滑滤波。 它的作用有两种 : 一种是模糊 ; 另一种是消除噪声。 空间域的平滑滤波一般采用简单平均法进行,就是求邻近像素点的平均亮度值,称为邻域平均法。 邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻 域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,因此需要合理选择邻域的大小。 典型的邻域有两种 :。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。