基于HSV色彩空间对蓝白车牌进行识别[摘要]车牌的自动识别是智能交通很重要的一部分,它作为连接数字处理与现实的纽带,有必要具备好的性质。传统的车牌识别算法都是在RGB色彩空间中进行的,本文的基本思想是采用更加贴近人眼视觉的HSV色彩空间,来达到不同的图像分析效果。[关键词]字符识别;模板匹配;HSV色彩空间;车牌定位Blue-WhiteVehicleLicensePlateRecognitionBasedOnHSVColorSpaceLiZhe,LiuXin,NieLeiAbstract:Vehiclelicenseplaterecognitionisoneofthemostimportantpartsofthesmarttransportation;itconnectsthedigitalprocessandtherealworld.Traditionally,weprocessplateimageinRGBcolorspace,wechoosetheHSVcolorspaceinthisarticle,whichismoresimilartohuman’sview,toachievebetterresult.Keyword:Vehiclelicenseplaterecognition;templatematch;HSVcolorspace;vehiclelicenseplatelocation;1.引言传统的车牌定位方式的已经比较成熟,但是仍然有一个重要的缺陷,即自适应的问题。传统算法的适应范围有限,对于不同的图片,需要对算法调整才能够处理好。但是,对于不同图像,只能通过手动选择算法或者更改参数来提高质量,算法选择的过程和参数的调整不容易自动化,缺乏相应的估测机制。本文着重于研究小型车辆的蓝色车牌,由于蓝色车牌颜色的特殊性,考虑采用与人眼视觉更加接近的HSV色彩空间,对目标区域进行筛选和提取。相比传统算法,取得了较为满意的自适应性和定位结果。另外,本文对于传统的字符模板匹配的方式进行了一定的修正,提高了其兼容范围,使得模板匹配获取更高的识别率。2.HSV色彩空间HSV(也叫HSB)是对RGB色彩空间中点的一种有关系的表示,它尝试描述比RGB更准确的感知颜色联系,并仍保持在计算上简单。H指hue(色相)、S指saturation(饱和度)、V指value(色调)。色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等。饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取0-100%的数值。明度(V),亮度(B),取0-100%。HSV模型通常用于计算机图形应用中。在用户必须选择一个颜色应用于特定图形元素各种应用环境中,经常使用HSV色轮。在其中,色相表示为圆环;可以使用一个独立的三角形来表示饱和度和明度。典型的,这个三角形的垂直轴指示饱和度,而水平轴表示明度。在这种方式下,选择颜色可以首先在圆环中选择色相,在从三角形中选择想要的饱和度和明度。如下所示:RGB到HSV的转换设(r,g,b)分别是一个颜色的红、绿和蓝坐标,它们的值是在0到1之间的实数。设max等价于r,g和b中的最大者。设min等于这些值中的最小者。3.车牌定位由此,我们可以知道,蓝色和其临近色的饱和度H处以一个有限的范围内,事实上,我们知道以下颜色的饱和度,而它们均为蓝色的临近颜色:青色:180,青蓝:210,蓝色:240,紫蓝色:270因此,归一化以后,H的取值范围在0.5~0.75而查看色表可以知道,要使人眼对相应的颜色产生感觉,则S=0.25,V=0.125所以我们就可以得到一个初步的筛选模式,利用HSV的范围进行初步筛选。%H:Cyan(180)-Blue-Cyan(210)-Blue(240)-Magenta-Blue(270)blueRegion=(H(:,:,1)=0.75)&(H(:,:,1)=0.5)&(H(:,:,2)=0.25)&(gray=0.125);200400600800200400600200400600800200400600可以看出,初步筛选会遇到一个选择多余区域的难题。上面所给出的第一个例子中,车体与车牌颜色一致,导致了选取过度,我们需要一种方式将车牌分离出来。结合传统的思路,我们知道,车牌区域是属于边缘比较复杂明显的区域,因此,可以考虑使用边缘算子进行处理。但是,事实上车身的细节也会造成较为复杂的边缘,那么要如何区分这些边缘则成了重点。进过反复尝试,我们选择了sobel算子,这种算子的速度比较快,但是效果并不是很好,不过,利用sobel算子获取横向和竖向的边缘,进行形态学处理并且取交集,就得到和非常理想的效果。因为车身的细节大多是单一的横向或者纵向,一般只有车牌处是双向的细节。效果如下:将最终的结果图与通过HSV选择选取的区域进行交集运算后进行形态学膨胀,得到了如下效果:可见,上述区域已经基本只包含车牌区域和一些很小的干扰区,相比之下,车牌区域是最大的连通区域,所以,采取筛选最大面积连通区域的方式,我们可以得到车牌:10020030040010020030010020030040010020030020040010020030020040010020030020040010020030010020030040010020030010020030040010020030010020030040010020030020406080100120102030进过反复测试发现,该方法相比于传统方法最大的优点就是自适应性,对于光照度不好的图片,也可以正常处理。整个处理过程中不需要调整任何参数,不需要对图片进行一些估计运算,这是传统方法所达不到的。另外,该算法在车身有倾斜度时也有很好的表现:4.字符分割字符分割采取了传统的背景色投影的方式。先对车牌区域进行精确定位,消除车牌周围部分的影响。然后,对于获得的车牌区域,灰度化继而自适应二值化,对于获得的二值化图像,进行水平的投影分割。为了消除车身倾斜带来的车牌矩形区域带有边框的问题,本文中采用了边缘外的图像删除,通过HSV中蓝色的选择,将蓝色的外边沿意外的区域进行的填0处理,一面边缘的白色线条对分割造成干扰。5.字符识别模板匹配在字符识别方法中,属于比较简单和低级的一种,由于无法获取标准的车牌字1002003004005005010015020020406080510152025200400600800200400600204060801001202040符库,所以,在过程中,会引起一定范围的误差,并且,汉字的匹配误差更为明显。为了弥补模板匹配的不足,对于有一定分辨率的图片,考虑到对字符进行分块,对每一块进行分别的匹配,但匹配块大于一定值的时候,则认为内容匹配。经过测试,英文和数字在大多数情况下均能正常匹配,不需要分块。但是汉字分块可以带来明显的效果提升。汉字的分块分为8*4的区域时,效果最好。在实际测试中,参考了多方的设计,我们选取了如下匹配规则:将字符进行划分,划分为四列八行,然后对每一个子块对应到模板相应部分,进行匹配。当每一分块相似度大于一定阀值的时候,将相应的分块标记为1。当待匹配区域的1的标记数达到一个预先设定的阀值,则判断为匹配。如果没有达到阀值,则:(1)字符整体与模板库匹配,如果仅有单独的匹配结果,则匹配有效。(2)字符左半部分与右半部分分别匹配,如果匹配有单一结果(左右匹配的交集仅有一个结果),则匹配有效。(3)字符上半部分与下半部分分别匹配,如果匹配有单一结果,则匹配有效。经过改进后,识别率有明显提高,对于由于噪声造成明显残缺的字符的识别率也有了明显的提升。6.总结总体来说,本文所采取的思路使得车牌定位的过程得到简化,并且拥有较好的适应性,改进是比较成功的。HSV色彩空间与人眼视觉系统有更强烈的关联,而人眼的视觉系统一直是图像处理试图模仿的对象,所以,在图像处理中采用HSV色彩,可能会取得比传统更加有效的效果。