基于HSV色彩空间对蓝白车牌进行识别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于HSV色彩空间对蓝白车牌进行识别
[摘要]车牌的自动识别是智能交通很重要的一部分,它作为连接数字处理与现实的纽带,有必要具备好的性质。

传统的车牌识别算法都是在RGB色彩空间中进行的,本文的基本思想是采用更加贴近人眼视觉的HSV色彩空间,来达到不同的图像分析效果。

[关键词]字符识别;模板匹配;HSV色彩空间;车牌定位
Blue-White Vehicle License Plate Recognition Based On HSV Color Space
Li Zhe, Liu Xin, Nie Lei
Abstract: Vehicle license plate recognition is one of the most important parts of the smart transportation; it connects the digital process and the real world. Traditionally, we process plate image in RGB color space, we choose the HSV color space in this article, which is more similar to human’s view, to achieve better result.
Keyword:Vehicle license plate recognition; template match; HSV color space; vehicle license plate location;
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 的范围进行初步筛选。

200400600800200400600
200400600800
200400600
可以看出,初步筛选会遇到一个选择多余区域的难题。

上面所给出的第一个例子中,车体与车牌颜色一致,导致了选取过度,我们需要一种方式将车牌分离出来。

结合传统的思路,我们知道,车牌区域是属于边缘比较复杂明显的区域,因此,可以考虑使用边缘算子进行处理。

但是,事实上车身的细节也会造成较为复杂的边缘,那么要如何区分这些边缘则成了重点。

进过反复尝试,我们选择了sobel 算子,这种算子的速度比较快,但是效果并不是很好,不过,利用sobel 算子获取横向和竖向的边缘,进行形态学处理并且取交集,就得到和非常理想的效果。

因为车身的细节大多是单一的横向或者纵向,一般只有车牌处是双向的细节。

效果如下:
将最终的结果图与通过HSV 选择选取的区域进行交集运算后进行形态学膨胀,得到了如下效果:
可见,上述区域已经基本只包含车牌区域和一些很小的干扰区,相比之下,车牌区域是最大的连通区域,所以,采取筛选最大面积连通区域的方式,我们可以得到车牌:
100
200
300
400
100200
300
100
200
300
400
100200
300
200
400
100200
300
200
400
100200
300
200
400
100200
300
100
200
300
400
100200
300
100
200
300
400
100200
300
100
200
300
400
100200
300
20
40
60
80100120
1020
30
进过反复测试发现,该方法相比于传统方法最大的优点就是自适应性,对于光照度不好的图片,也可以正常处理。

整个处理过程中不需要调整任何参数,不需要对图片进行一些估计运算,这是传统方法所达不到的。

另外,该算法在车身有倾斜度时也有很好的表现:
4.字符分割
字符分割采取了传统的背景色投影的方式。

先对车牌区域进行精确定位,消除车牌周围部分的影响。

然后,对于获得的车牌区域,灰度化继而自适应二值化,对于获得的二值化图像,进行水平的投影分割。

为了消除车身倾斜带来的车牌矩形区域带有边框的问题,本文中采用了边缘外的图像删除,通过HSV 中蓝色的选择,将蓝色的外边沿意外的区域进行的填0处理,一面边缘的白色线条对分割造成干扰。

5.字符识别
模板匹配在字符识别方法中,属于比较简单和低级的一种,
由于无法获取标准的车牌字
100200300400500
50100150200
20
40
60
80
5
10
152025
200
400
600
800
200
400600
20
40
60
80
100120
20
40
符库,所以,在过程中,会引起一定范围的误差,并且,汉字的匹配误差更为明显。

为了弥补模板匹配的不足,对于有一定分辨率的图片,考虑到对字符进行分块,对每一块进行分别的匹配,但匹配块大于一定值的时候,则认为内容匹配。

经过测试,英文和数字在大多数情况下均能正常匹配,不需要分块。

但是汉字分块可以带来明显的效果提升。

汉字的分块分为8*4的区域时,效果最好。

在实际测试中,参考了多方的设计,我们选取了如下匹配规则:
将字符进行划分,划分为四列八行,然后对每一个子块对应到模板相应部分,进行匹配。

当每一分块相似度大于一定阀值的时候,将相应的分块标记为1。

当待匹配区域的1的标记数达到一个预先设定的阀值,则判断为匹配。

如果没有达到阀值,则:
(1)字符整体与模板库匹配,如果仅有单独的匹配结果,则匹配有效。

(2)字符左半部分与右半部分分别匹配,如果匹配有单一结果(左右匹配的交集仅有一个结果),则匹配有效。

(3)字符上半部分与下半部分分别匹配,如果匹配有单一结果,则匹配有效。

经过改进后,识别率有明显提高,对于由于噪声造成明显残缺的字符的识别率也有了明显的提升。

6. 总结
总体来说,本文所采取的思路使得车牌定位的过程得到简化,并且拥有较好的适应性,改进是比较成功的。

HSV色彩空间与人眼视觉系统有更强烈的关联,而人眼的视觉系统一直是图像处理试图模仿的对象,所以,在图像处理中采用HSV色彩,可能会取得比传统更加有效的效果。

相关文档
最新文档