李虎月,郝鹏飞,廖云霞,刘 靖,张顺伟,刘立群
(甘肃农业大学 信息科学技术学院,甘肃 兰州 730070)
随着国内交通运输行业的飞快发展,相比较于传统的交通管理系统,智能交通系统的发展极其重要,它可解决传统交通运输面临的一系列问题。
而车牌识别系统在智能交通系统中占有很重要的位置,识别系统的智能化对于机动车辆和交通安全的管理有十分大的作用,而车牌照是交通运输车辆管理最为重要的标识。
在如今信息快速发展的大趋势下,利用MATLAB进行系统仿真已经成为一种趋势,它将在各行各业中发挥出巨大的作用。
未来对车牌的识别可能会大力发展在高速公路上,利用人工智能对行驶的多辆车能够同时实现车牌的精准定位和识别,车牌的准确识别也将对道路的管理起到良好的作用,通过识别车牌对车辆的信息以及驾驶员的相关信息都可以进行采集,道路治安将会所改善。从20世纪90年代开始,国内就启动了具有自主知识产权的车牌识别系统的研究。
在MATLAB内部含有许多算法,现在的MATLAB可以实现600多种数学运算,而且所有的函数运算都可以解决现实中的工程问题,可以为用户提供各种各样需求的计算[1]。并且在MATLAB中对图形化显示数组或矩阵是非常强大的,在MATLAB中可以对数组或者矩阵的图像添加注释,也可以实现对数组或者矩阵图形的打印和标注[2]。MATLAB内部的函数库是非常强大的,当进行复杂的数学运算时,可以直接从MATLAB内部函数库中调用相关函数,不仅如此,用户还可以在计算中编写自己的函数并且存储到MATLAB的函数库中方便以后使用,也可以通过代码实现用户之间的资源共享[3]。
首先要分析辨别出车牌的特点,由于在照片采集中会出现客观和不确定性等一系列因素,很大程度上影响了车牌识别的正确率,也正是有了不确定因素的存在,才会使得车牌识别工作变得复杂。系统首先以采集到的图像为基础,去定位识别车牌号,识别部分在光照的影响下会使得采集到的图像色彩鲜明,车牌识别由于色彩众多受到阻碍,故此对采集到的图像进行预处理转换,先定位裁剪出车牌区域并将车牌区域图像转换为灰度图,然后进行后续的字符分割,最后配对识别出车牌。这便是基于MATLAB GUI的车牌识别系统,该方法的具体流程如图1所示。
图1 系统总体设计
该系统是由主界面、车牌识别预处理界面、定位车牌最终识别与显示界面等4个界面构成的。在车牌预处理界面有:汽车图像预处理、车牌区域定位与切割并转换为灰度车牌图像[4-5]。首先通过主界面的车牌识别系统主按钮进行选择后进入到车牌识别界面,其次通过每一个特定功能按钮对图片进行一系列处理操作后将跳转到最终识别与显示界面[5]。该系统从一幅车辆图像中准确定位出车牌区域并切割,然后进行字符分割、灰度化等,最终实现车牌识别[5-6]。基本步骤如图2所示。
图2 模块规划图
首先读入图片,对读入的图片进行预处理,得到灰度图像,绘制出灰度直方图,进行Robert算子边缘检测、图像腐蚀、平滑图像轮廓、擦除小对象等操作,通过计算寻找X和Y方向车牌的区域完成车牌定位。对处理后定位出来的车牌区域进行处理,最终实现车牌的检测并显示出识别结果[6-7]。
对车牌号码为甘AC8G13的车牌照片进行系统仿真,系统仿真效果如图3~图5所示。
图3 系统主界面
图4 汽车图像读入处理定位界面(1)
图5 车牌区域的处理与车牌识别界面(1)
通过对以上车牌图片的识别,车牌识别结果明显,但仅此一次识别结果不具有说服力,因此对另一张号码为甘A6U380的车牌图像进行了预处理、定位、识别。仿真结果如图6和图7所示。
图6 汽车图像读入处理定位界面(2)
图7 车牌区域的处理与车牌识别界面(2)
图像灰度化:由于最常见的车牌是蓝底白字白边的车牌,它的颜色的RGB为(0,0,255)、(255,255,255),从它们的RGB值能看出B通道上数值相同,但在R、G两个通道上数值相差的就比较大,这样就方便进行灰度化处理。将原图进行灰度化,图像灰度值H的计算公式如公式(1)、(2)所示:
H=0.299R+0.587G+0.114B
(1)
(2)
式(1)用的是权值加重法,式(2)用的是均值法。在本次仿真中将彩色图像转化为灰度图像用的函数rgb2gray()利用的就是权值法,其优点是可以对图像的一些区域进行加强,处理后的灰度图像更加具有针对性,对后面的车牌区域的定位和分割准确性有所增加。在系统的运行中全程过程可视化,可以利用imshow显示出灰度图像,利用imhist绘制出灰度图像的灰度直方图与灰度图像对比观察[8-10]。
车牌区域定位与分割:利用人类对视觉感知的能力,最佳视觉模型是HSI模型,这个模型利用色度(hue)、饱和度(saturation)和亮度(intensity)来表示颜色。亮度表示颜色的明暗程度,主要受光源影响,饱和度表示颜色的深浅,经过均衡化后,灰度范围变大,相应的对比度变强,可以看到车牌区域的对比度增强,字符更为清晰[11-13]。HSI模型中的分量的计算公式如下:
(3)
(4)
H=
R≠BorG≠B
(5)
其中,S也可以表示为:
S=max(R,G,B)-min(R,G,B)
(6)
式(5)中,H是由RGB的非线性变换得到的。在HSI模型中,HSI三个分量的相关性比较低,由于HSI更接近人类对于颜色的认知,所以人眼对于HSI变化的感知能力要超过对RGB的感知能力。而且在HSI空间中,每个均匀彩色区域都对应相对意志的色调值,这个值可以用来指导分割[14-15]。
主要阐述了利用MATLAB工具通过对图像处理最终实现对车牌的识别,利用MATLAB的图形用户界面设计简单明了的操作界面,利用函数和算法在存在背景的汽车图像中实现对车牌的定位分割。
利用车牌规则的特点,对车牌定位中用到的一些算法,如边缘检测算法,都是容易实现的,使用也是比较方便的。在这一次的系统设计中,车牌识别结果显示明显,而且操作较为便捷。MATLAB也将在以后的仿真中更进一步的发展,而智能车牌识别也将是重点研究的方向。