超高效车牌识别算法
核心参考文献
陈进 《车牌识别系统关键技术的研究》
文章相关下载资源
算法动态库 https://download.****.net/download/hobbitdream/10549960
演示工程 https://download.****.net/download/hobbitdream/10549965
算法基本实现原理
整个车牌识别算法包括两个部分:车牌定位和车牌字符识别,后者还可继续细分为车牌字符的分割、融合以及字符识别。车牌字符识别部分主要是通过设计训练分类器完成,本文不作过多详述;本文重点介绍车牌定位所采用的基本处理算法,整个过程主要通过中间处理图像输出的形式作介绍。本文采用算法在满足识别精度的前提下,执行效率高效,即使面对500W电子抓拍场景数据,依旧能做到毫秒级处理速度。
首先,算法测试采用图像如下图,数据来源于网络,有兴趣的朋友可下载其他类似数据图像作测试。算法采用彩色图像作参数输入,以便中间处理识别号牌颜色,其实整个车牌的定位和识别过程仅利用了单通道图像数据。
数据经过简单的增强预处理等操作后,核心步骤是计算边缘梯度图像,得到下图所示中间数据,去除图像噪声数据,将车牌号牌区域的特征更加明显的展现出来。
在计算得到图像的边缘梯度图像后,接下来最重要的则是进行阈值化,分割号牌前景,并通过辅助形态学处理等相关操作,滤除部分噪声信息,如下图所示。
在通过两个核心算子(边缘梯度图像计算和阈值化分割前景背景)计算得到二值图像中,为将整个车牌号牌区域从图像中提取出来,同时考虑整个算法的执行效率,这里采用连线法,根据计算水平连线的分布关系以及垂直的联线分布密度等特性,计算得到如下图所示前景目标的关联性连线区域。
最后,在上图的中间结果数据中,通过聚类拟合等处理,实现将车牌区域以及伪车牌区域等候选区域定位提取,再辅助以号牌的几何特性(比如宽高比例等),滤除伪车牌区域,最终计算得到车牌号牌的区域。
后续的处理过程,主要是对车牌定位得到的各个区域进行车牌字符分割、字符断裂融合以及各个字符的识别等,并且在处理过程中,通过判断车牌字符的特性等,再滤除伪车牌区域(如分割字符个数、字符的分布关系等)。
最终,完成车牌识别。