C 语言怎么实现 车牌字符分割,一种车牌字符分割的方法与流程

5128776e62e6ccd9f0acf9fb85a3638c.gif

本发明涉及车牌识别技术领域,特别是一种车牌字符分割的方法。

背景技术:

随着图像处理技术的发展进步,使用图像处理技术来识别车牌在车辆管理与交通管理中扮演着越来越重要的角色。基于图像处理技术的车牌识别步骤主要有车牌定位,车牌矫正,车牌字符分割,车牌字符识别。车牌字符分割是对矫正好的车牌图像中每个字符进行分割,以获得各个字符的单独图像,以便在后续的字符识别中使用,来确定具体的车牌号。

现有技术主要使用车牌二值化的图像的垂直投影,这样就能看出字符区域,空隙区域与字符宽度,再利用每种车牌中都存在一个字符间隙最大的特点(例如:蓝牌第二与第三字符中间间隙比其他字符间隙都大),找到最大间隙。在然后往前试探性的分割两个字符,再向后试探性的分割五个字符。如中国发明专利CN 102043959 A公开的一种车牌字符分割方法,包括:图像预处理,得到预处理图像;将预处理图像二值化,得到车牌字符和背景分开的二值图;根据所述的二值图的字符特性确定模板,并将所述模板在二值图上滑动进行模块匹配,确定前2个字符;采用简化聚类法分割出车牌中的其他字符。

现有技术在面对车牌字符粘连,污损,倾斜,与车牌整体定位不准确时会产生很大的分割错误。例如当车牌图像中字符间隙污损了,或强光导致泛白时原来的最大间隙不存在了;更或者图像中不仅包括车牌还包括部分车身时,找到的最大间隙会是车身的一部分。而向前和向后推导字符是也可能遇到字符粘连在一起,或该有字符位置由于字符不反光消失等问题。这时分割的字符图像可能只有半个字符,或两个半个字符或根本没有字符。

技术实现要素:

本发明需要解决的技术问题是提供一种车牌图像不理想时车牌字符分割的方法。

为解决上述的技术问题,本发明一种车牌字符分割的方法,包括以下步骤,

步骤S1:车牌图像二值化;将车牌彩色图像转换为灰度图像,并对灰度图像进行二值化;

步骤S2:二值化图像联通区查找;在二值化图像中查找所有的联通区;

步骤S3:车牌图像波形映射;将联通区映射成波形,这个波形对应车牌图像的波形;

步骤S4:变更再贴合波形生成;先生成标准波形,再将标准波形在波长、相位、拉伸方面做变更再贴合波形,来生成一组各式各样的波形;

步骤S5:波形拟合度计算;计算步骤S4生成的这组波形中哪个与车牌图像的波形拟合度最高,并记录下;

步骤S6:车牌字符分割;使用步骤S5中波形拟合度最高的波形中的波峰来分割车牌字符。

进一步的,步骤S1中使用最大类间方差法对灰度图像进行二值化。

进一步的,步骤S2中计算所有联通区的高度与宽度中值,去除所有联通区中高度小于1/2高度中值的区域。

进一步的,步骤S3中将联通区垂直映射到x轴上,从左到右排列没有任何联通区的为波谷,有联通区的记为波峰。

更进一步的,步骤S3中将所有M个联通区按照最左边值由小到大排列,设置波峰左侧pli=left(regioni)为第i个联通区左边值,波峰右侧pri=right(regioni)为第i个联通区右边值,第i个波峰宽度pwi=pri-pli,第i个波谷宽度hwi=pli+1-pri,波峰的中值宽度为波长widthwave=prM。

更进一步的,步骤S5中从0相位开始,到波长差相位结束,每0.5距离偏移相位计算拟合值。

更进一步的,所述步骤S5中偏移方法为

pli=pli+k*0.5,pri=pri+k*0.5,k*0.5为相位,

其中k∈0,1,2,…,abs(待拟合的widthwave-生成的widthwave);

拟合值v计算方法为其中i为生成的波形数据,j为要拟合的波形数据;

计算出拟合值v最高的波形数据[pl1,pl2,pl3,…,pl7],[pr1,pr2,pr3,…,pr7]。

更进一步的,所述步骤S4中用中值宽度生成一组范围在1/3中值宽度的波形,再使用这组波形做正反两个方向拉伸再生成两组波形。

采用上述方法后,本发明使用不同振幅,波长,相位,旋转的预制波来拟合给定车牌图像的波形;找到最佳拟合波,通过这个波中波峰位置来分割图像。这样能显著提高车牌字符粘连,污损,倾斜,部分弯曲与车牌整体定位不准确时分割分割正确率。

附图说明

下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明一种车牌字符分割的方法的流程示意图。

具体实施方式

如图1所示,本发明的一种车牌字符分割的方法,包括以下步骤,

步骤S1:车牌图像二值化;将车牌彩色图像转换为灰度图像,并对灰度图像进行二值化。本实施方式中将彩色图像转换为灰度图,使用OTSU(最大类间方差法)对灰度图像二值化,当然也可以采用其他适用的方法进行彩色图像二值化。

步骤S2:二值化图像联通区查找;在二值化图像中查找所有的联通区;计算所有联通区的高度与宽度中值,去除所有联通区中高度小于1/2高度中值的区域。

步骤S3:车牌图像波形映射;将联通区映射成波形,这个波形对应车牌图像的波形。将联通区垂直映射到x轴上,从左到右排列没有任何联通区的为波谷,有联通区的记为波峰。如果两个联通区映射重合,则取最大的联通区。如果两个联通区相交,相交区域平分到两个联通区中。将所有M个联通区按照最左边值由小到大排列,设置波峰左侧pli=left(regioni)为第i个联通区左边值,波峰右侧pri=right(regioni)为第i个联通区右边值,第i个波峰宽度pwi=pri-pli,第i个波谷宽度hwi=pli+1-pri,波峰的中值宽度为波长widthwave=prM。

步骤S4:变更再贴合波形生成;先生成标准波形,再将标准波形在波长、相位、拉伸方面做变更再贴合波形,来生成一组各式各样的波形。用中值宽度生成一组范围在1/3中值宽度的波形,再使用这组波形做正反两个方向拉伸再生成两组波形。先生成标准波形,举蓝牌车为例,按照国标说明,所有字符宽度都为45cm,设置第1个波峰数据为pl1=0,pr1=45,第1到第2字符间隙12cm设置第2波峰数据为pl2=pr1+12=57,pr2=pl2+45=102,按照上述方法依次设置完整个车牌标准波形。然后从到每隔1缩放波形,计算要缩放到的宽度缩放比例为计算缩放后的波形数据pli=pl*scalei,pri=pr*scalei来分别生成不同比例的波峰波谷数据。再对这些数据做正反两方向拉伸,主要目的是为了更好拟合车辆倾斜进入时车牌字符宽度逐渐递增或递减的波形,例如车牌最左面字符宽度很小,然后向右逐渐变大。具体方法是对整个波形数据做拉伸,

α为要拉伸的弧度,一般取的倍数。反向拉伸的方法为整个波形都按照y轴旋转180度,计算方法为pli=widthwave-prM-i,pri=widthwave-plM-i,然后同正拉伸的方法,拉伸后再按照y轴旋转180度变换回来,这样就是最左侧字符最大,向右依次变小。与正向拉伸结果正好相反。为了避免车牌局部弯曲变形导致的字符宽度没有规律的有大有小,使用贴合方式再改变下波形。定义取波峰交集宽度方法为

取波谷交集宽度方法为

方法为(i为生成的波形波谷数据,j为要拟合的波形波谷数据)。

步骤S5:波形拟合度计算;计算步骤S4生成的这组波形中哪个与车牌图像的波形拟合度最高,并记录下。从0相位开始,到波长差相位结束,每0.5距离偏移相位计算拟合值。偏移方法为pli=pli+k*0.5,pri=pri+k*0.5,k*0.5为相位(k∈0,1,2,…,abs(待拟合的widthwave-生成的widthwave))。拟合值v计算方法为i为生成的波形数据,j为要拟合的波形数据。计算出拟合值v最高的波形数据[pl1,pl2,pl3,…,pl7],[pr1,pr2,pr3,…,pr7]。

步骤S6:车牌字符分割;使用步骤S5中波形拟合度最高的波形中的波峰来分割车牌字符。使用最高的贴合拟合值v的波形数据[pl1,pl2,pl3,…,pl7],[pr1,pr2,pr3,…,pr7]在图像中分割字符。第i个字符的x范围为(pli,pri),使用此范围在原图像中截取字符,完成分割车牌的任务。

本实施方案不做假设,也不仅仅依赖车牌中的某一个或几个特征来确定分割位置,避免了局部的错误而引导了错误的分割。而是对待分割图像波形整体使用不同波长,旋转变形,相位的波整体来做拟合,配合上贴合方法找到最优的拟合波形。所以在车牌图像中车牌部分稳定干净部分多余污损弯曲部分的情况下,更正确波形的拟合值总能大于不正确的波形的拟合值,所以总能给出最优解,有更优秀的分割正确率。

当然,本专利申请步骤S2中也可以采用其他适用的方法去除一些错误的联通区,这样的变换均落在本发明的保护范围之内。

虽然以上描述了本发明的具体实施方式,但是本领域熟练技术人员应当理解,这些仅是举例说明,可以对本实施方式作出多种变更或修改,而不背离发明的原理和实质,本发明的保护范围仅由所附权利要求书限定。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值