基于形态学和HSV分离蓝色区域的车牌分割技术

2018-10-12 08:06田枥文齐文琴
无线互联科技 2018年18期
关键词:车牌形态学矫正

田枥文,齐文琴,李 欢

(成都理工大学 信息科学与技术学院,四川 成都 610059)

车牌是汽车非常重要的一部分。车牌相当于车的身份证,是辨别一个车子的主人关键。因此车牌识别也变得尤为重要。

停车场的车牌商业化的识别会大大减少人工费用,减少人们手动化操作,增加了商家的收益。但是在识别之前需要进行车牌分割。一个好的分割算法,能有效地减少识别效能。本文主要介绍一种车牌分割的算法,通过OpenCV提供的部分api功能,结合自己的算法计算出车牌位置,进行合理切割。

1 设计思路

OpenCV是一种跨平台的计算机视觉库,可以运用在多个平台。由于它对多个语言提供了接口,所以在工具上选择OpenCV来执行下面的操作。

1.1 需切割图片的基本情况

本文设置的图片是针对停车场车牌的自动识别切割,所以摄像头位置方向是直击车牌附近。实测中,对于距离稍微远一些或者全身车子照有部分图片实测成功。车牌因为很特殊,对于大部分车牌来说成蓝色,这种情况对于切割具有很大的帮助。

1.2 api设想

最初的想法是利用均值漂移,但是实测情况不好,均值漂移无法准确确定具体位置,而且计算量过于庞大,对于停车场使用的分割需求非常大的情况是不利的。另外一种是使用本身的分割算法grabcut,这个前景后景需要手工找寻前景后景,但是车牌的环境是不定性的,目标位置所以也有不定性,在露天的情况下还需要对天气环境,以及镜头的清晰程度进行多方面的考虑。于是进一步考虑使用形态学变换可以进行有效的分割。

1.3 准确思路

形态学变换是OpenCV重要的一个操作工具。形态学变换主要是可以用来消除不必要的噪音,以及分割出一副图像中相对比较独立的元素,或者把一些互邻的元素相互连接起来,所以形态学变换在这方面对分割相当的有效。本文主要用到腐蚀膨胀,利用转换hsv的方法找寻剩余蓝色的位置,最后利用角度矫正、切割得到。

2 实施办法

2.1 第一步:图像的初步处理

万能第一步,首先要使用高斯滤波来初始灰度化的图片。可以使用权值灰度化的方法,这样可以使车牌部分灰度值更深[1]。高斯滤波最重要的作用在于降低一些图片不该有的噪声。在车子现有的图片中可以看到,车子反光是最需要处理的一处,而高斯滤波可以有效地减少反光产生的噪音。随后需要对图片边缘检测,为后面的图像腐蚀膨胀做基础,canny算子的方向性保障了边缘强度的估计,它有一定的能力降噪并且有效地保持若边缘。

2.2 第二步:膨胀腐蚀

使用多次膨胀腐蚀可以达到的效果如图1所示。因为车牌都是以横向的位置排列顺序,所以使用横轴方向的膨胀,使想要的字符都可以顺利联通起来,但是设想如果一直使用膨胀将会有许多小块的碎片,这时就需要进行多次的腐蚀来将它去除,然后再进行几次膨胀,让几次膨胀和腐蚀次数相同,便于图像回复原形态大小[2]。

腐蚀膨胀后,截取此空白部分,将图像转换成HSV利用蓝色的特点,可以提取蓝色的部分。经多图多次实验的得出,蓝色色调(H)为90~120,而饱和度(S)为90~160,明度(V)为80~255。将图像截取到蓝色区域期间(见图2)。

图1 膨胀腐蚀后效果

2.3 车牌矫正

当然这样下来的图片并不是正向的,存在倾斜,这时就需要对图片进行角度矫正,角度矫正采取霍夫直线变换,找寻图片中的直线。另一种方法是街区后利用黑色区域计算角度。但是使用后者对于其他图片不能全部适用,所以选择前者。其次是要充分考虑如何选择合适的参数,按照比例找寻参数是非常重要的一点,按照原有图片比例计算,车牌标准长度为440 mm,一个字母或数字长度45 mm,中间一点为10 mm。

图2 提取蓝色区域后效果

找到合适参数,计算出一条直线后,找到两个点计算角度,并截取为小图(见图3)。

图3 校正后截取的小图

2.4 截取

经过一系列的处理后难免会出现一些不必要的噪声黑点,使用二值化将图像变为黑白的图片便于后续切割。但是二值化后在多张图片处理后都发现黑点变多了,如果不提前消除会有很大的影响。所以继续使用膨胀和闭操作进行适当调试,由于噪声多是竖直方向的较多,所以使用y方向的膨胀。

最后进行截取。笔者的考虑是进行白色区域检测,然后利用显示车牌与图片大小的比例进行有效切割。开始遇上黑色点,当遇上白色点记录初始位置推出循环进行下一轮循环,然后持续遇见白色的点都进行跳出循环。一直持续,遇到白色的点结束时记录结束位置,然后将两点位置切割下来。

最后最重要的问题在于有偏旁的汉字和点的处理,于是按照实际比例设计了上限和下限。车牌上点的大小为10 mm乘以图片宽度和440 mm的比例,如果小于这个值的两点距离,予以按比例截取权限。若大于这个值且小于一个单汉字的比例,则不给予权限切割且按照原比例切割。这样就可以有效避免偏旁分离的和点的问题(见图4)[3]。

图4 分割后的部分图

3 结语

3.1 结论

此算法运用了很多OpenCV的标准库,但在hsv中的截取蓝色部分和图像校正,以及后面的单字分割进行了部分改进。在许多标准库中函数的参数进行实验并校正部分参数使完美运行。经过几轮测试,成功率高达90%,能达到预期的效果。

3.2 改进

在不成功的样品里有几种情况,一种是图片太大,所以在后续的改进中可以使用图像金字塔的格式将图片向下采样,减小图片的大小。

由于图片分割是给后来的图像识别做素材,所以后面的情况将会把所有的图片的大小调整成一致便于机器学习。

3.3 展望

图片分割是一个很成熟的技术,在各个领域都有应用。不过在实现算法的同时还应该减少运算时间,减少内存消耗。在未来,还将对分割后的车牌进行机器学习,让它达到真正识别功能。

猜你喜欢
车牌形态学矫正
数字图像处理技术在车牌识别系统中的应用
“体态矫正”到底是什么?
基于MATLAB 的车牌识别系统研究
矫正牙齿,不只是为了美
医学微观形态学在教学改革中的应用分析
矫正牙齿,现在开始也不迟
改良横切法内眦赘皮矫正联合重睑术
数学形态学滤波器在转子失衡识别中的应用
巨核细胞数量及形态学改变在四种类型MPN中的诊断价值
一May-Hegglin异常家系细胞形态学观察