MATLAB图像处理技术在车牌识别中的应用

2022-04-09 02:17李冰洁
上海电气技术 2022年1期
关键词:字符识别车牌字符

李冰洁

山东广域科技有限责任公司 山东东营 257081

1 车牌字符识别系统设计原理

一个完整的车牌字符识别系统需要完成图像采集、字符识别,然后输出,可以分为软件、硬件两大部分。硬件部分包括系统触发、图像采集等,软件部分包括图像预处理、车牌位置提取、字符分割、字符识别四方面。

2 车牌区域确定及图像处理

图像读取及车牌区域确定主要由灰度图转换、灰度图腐蚀、图像边缘检测、图像平滑处理、车牌区域边界值确定等过程组成。利用图像工具箱中的Car_Image_RGB=imread(‘Image_Name’)命令,即可将图像读取出来。Car_Image_RGB是一个大小为m×n的数组,m、n分别表示图像像素的行数、列数。我国车牌颜色及其RGB值分别为蓝底(0,0,255)、黄底(255,255,0)、黑底(0,0,0)、白字(255,255,255)、黑字(0,0,0)、红字(255,0,0)。由于车牌的底色不同,因此从RGB图中直接进行车牌区域提取存在很大困难。实际情况是,无论哪种底色的车牌,底色与字符的颜色对比度均较大。利用这一点,将RGB图转换为灰度图时,车牌底色与字符的灰度值相差很大。例如,蓝色(255,0,0)与白色(255,255,255)在R通道中是一样的,而在G通道、B通道或灰度图中数值相差很大。同理,对白底黑字的车牌可以使用R通道,绿底白字的识别可以使用G通道,这样就可以明显呈现出车牌区域的位置,便于后续操作。将RGB图转换为灰度图时,图像灰度值可由权值加重法或均值法计算。MATLAB软件内的RGB图转换为灰度图函数rgb2gray()使用权值加重法,R通道权值为0.229,G通道权值为0.587,B通道权值为0.114。由此,可以利用边缘检测方法,识别出邻近区域灰度值相差大的分界区。车牌RGB图如图1所示,车牌灰度图如图2所示。

中值滤波是一种线性处理技术,对某些输入信号具有不变性,并且有去噪功能。中值滤波最初主要在一维信号处理中应用,之后被二维图像信号处理引用。在一定条件下,中值滤波可以克服线性滤波带来的模糊图像细节不准确,并能有效过滤毛刺,在保护图像边缘的同时去除噪声。图像增强处理可以提高图像的视觉外观,或者将图像转换为更适合机器读取的形式,以从图像中获取更多信息。图像增强处理分为空间域方法和频率域方法两大类。空间域方法包括点处理、邻域处理,频率域方法包括高通滤波、低通滤波、同态滤波等。

图1 车牌RGB图

图2 车牌灰度图

在MATLAB软件中利用函数edge()实现边缘检测,具体的命令Car_Image_Bin=edge(Car_Image_Gray,‘robert’,0.15,‘both’)。Robert梯度以(x-1/2,y-1/2)为中心,度量(x-1/2,y-1/2)处45°和135°方向的灰度变化。车牌边缘检测图如图3所示。

图3 车牌边缘检测图

经过处理以后,车牌的轮廓很明显,车牌区域呈现白色条纹,基本达到了边缘检测的效果。在车牌附近区域由于各种干扰的影响,存在一些白色区域,所以要对边缘检测图做进一步处理,用灰度图腐蚀来消除多余的边界点。

腐蚀是消除边界点并使边界向内收缩的过程,利用腐蚀可以消除小且无意义的部分。腐蚀的规则为输出图像的最小值是输入图像领域中的最小值,在一个二值图像中,若有一个像素值为0,则其相应的输出像素值为0。使用imerode()函数,具体命令为Car_Image_Erode=imerode(Car_Image_Bin,Se)。车牌腐蚀后图像如图4所示。

从腐蚀结果看,无意义的部分基本消除,留下的是车牌区域。至此得到车牌图像的轮廓线,再经过适当处理即可把车牌提取出来。

MATLAB软件中有图像平滑处理函数imclose(),具体命令为Car_Image_Perform=imclose(Car_Image_Erode,Se)。平滑处理后,可以消除图像的数字化误差和噪声对焦点直接提取的影响。

图4 车牌腐蚀后图像

平滑处理后,图像中可能会存在多个闭合区域。对于不是车牌区域的多余区域,必须予以删除。

MATLAB软件提供了函数bwareaopen(),用于删除二值图像中面积小于一定定值的对象,在默认情况下使用8邻域,具体命令为Car_Image_Perform2=bwareaopen(Car_Image_Perform,2000)。这样Car_Image_Perform中面积小于2 000的对象都被删除了,消除对车牌定位的影响。车牌水平边框去除后图像如图5所示,车牌竖直边框去除后图像如图6所示。

图5 车牌水平边框去除后图像

图6 车牌竖直边框去除后图像

3 字符提取与识别

根据经验,车牌中字符面积与车牌面积之比在0.235~0.365之间,因此计算字符面积与车牌面积的比值,若大于0.365,则对图像进行腐蚀,若小于0.235,则对图像进行膨胀。

在完成车牌区域定位后,将车牌区域的字符分为单字符,再进行识别。字符分割往往采用垂直投影法。我国普通中小型汽车车牌总长为440 mm,牌照中七个字符的实际总长为409 mm左右,宽为140 mm。每个字符宽为45 mm,高为90 mm,字符间距为10 mm。其中,第二个字符与第三个字符的间距较为特殊,为15.5 mm,最后一个字符与第一个字符距边界25 mm。基于此,如果平均分配每个字符在车牌中占据的宽度,那么每个字符的宽度为车牌图像宽度除以7。但实际上,第二个字符与第三个字符之间存在一个点,车牌左右两边与图像边缘也都有一定的距离,所以每个字符的宽度应小于车牌图像宽度除以7。考虑所有情况,一般情况下,最小的字符宽度为车牌图像宽度除以9。因此,字符宽度可以从车牌图像宽度除以9到车牌图像宽度除以7之间渐进变化得到。车牌切割后字符图像如图7所示。

图7 车牌切割后字符图像

一连串字符串在进行切割后变成了单个字符,为后续字符匹配识别奠定了基础。

车牌字符识别目前最常用的方法有两种,分别是模板匹配法和神经网络法。模板匹配法是一种在技术上最经典、最直接的对字符的模式识别方法,这种方法对待识别字符进行二值化,归一化为模板的大小,选择最佳匹配作为分类的结果。这种方法有一定缺点,包括抗干扰能力差、识别能力低,任何光照、字符清晰度、字符大小的变化都会影响模板匹配法的准确性。

神经网络法具有分布式信息存储、大规模并行处理、自适应高容错性等特点,近年来应用于车辆牌照识别系统中。

利用神经网络法对字符进行识别操作,主要有两个途径。

(1) 对待识别字符进行特征提取,用所获得的特征训练神经网络。

(2) 充分利用神经网络的特点,直接将待处理图像输入神经网络,由神经网络自动实现特征提取,直至识别。

特征提取是字符识别的关键步骤,笔者提出一种字符多特征提取方法,在预处理后字符基础上,通过对字符四个侧面扫描提取出字符骨骼累积统计特征,包括笔画斜率累积特征、拐点幅度累积特征、轮廓深度累积特征,通过固定粗网格提取字符内部像素特征。

由于图像采集时图像的像素值不一样,经切割出的字符大小也会不同,因此在进行匹配前必须先进行字符图像归一化操作,使图像字符大小与模板图像大小相一致。MATLAB软件提供了一个改变图像大小的函数imresize(I,Size,Model),Model代表插值运算方法,选用最近邻插值法。车牌归一化后字符图像如图8所示。

图8 车牌归一化后字符图像

切割的字符经过归一化处理后,每个字符的大小一致,解决了像素值不一致的问题,有利于后续对字符的识别操作。

字符识别率是车牌识别研发成功与否的关键指标,字符识别主要涉及特征提取和识别方法两方面,并且两方面是继承互补的关系。经过训练后的神经网络不仅可以有效提取信号、图像等感知模式的特征,而且可以调试现有的启发模式识别系统,使其更好地解决不变量探测、自适应、抽象、概括等常见问题。也就是说,神经网络可以很好地应用于数组识别系统算法设计中。

对于预处理后的图片,需要使用神经网络进行训练。笔者所使用的是前馈后向传播神经网络,主要设计输入层、隐形层、输出层,以及各层之间的传输函数。

前馈后向传播神经网络用于模式分类,首先将输入模式空间的样本映射到隐形层模式空间,然后由输入层将隐形层模式空间的输出模式样本映射到输出模式空间,最后根据判决规则决定决策空间,进行模式分类。

隐形层神经元数量为50,输出层神经元数量为10,种群大小为400。由于输入数量比较少,为了扩大搜索范围,权值取值范围为-10~10。由于中间重组和线性重组生成的子代空间会略大于父代,因此最终权值范围会略大于-10~10,算法遗传代数为2 000。基于以上参数设置,在对车牌进行字符识别之前先对提取到的特征进行训练,为后续工作做好准备。神经网络训练界面如图9所示。

4 试验结果

通过MATLAB软件编程实现对车牌图像的每一步处理,最终获得车牌识别结果,如图10所示。

以MATLAB 7.0软件为试验平台,整个系统使用MATLAB软件编程实现,可以直接调用函数,不仅有效缩短了试验时间,而且降低了编译的难度。试验表明,笔者所采用的方法既保留了车牌区域信息,又减小了噪声的干扰,从而简化了二值化处理的过程,提高了后续处理的速度,并且车牌定位的准确率很高。

图9 神经网络训练界面

图10 车牌识别结果

试验对蓝底白字车牌进行了分割识别,对黑底白字车牌原则上也适用。对于白底黑字车牌、黄底黑字车牌,需要对车牌定位算法进行调整,并将图像反转,车牌字符分割算法仍然是有效的。

猜你喜欢
字符识别车牌字符
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
数字图像处理技术在车牌识别系统中的应用
第一张车牌
基于MATLAB 的车牌识别系统研究
融合字符及字符排列特征的铭牌识别方法
一种基于OpenCV的车牌识别方法
基于MATLAB的图片中字符的分割与识别