经过一年半左右业余时间的研究,目前车牌识别算法达到一个基本的效果:
1. 整个算法耗时短,500万2592*2048分辨率车牌图像的处理保持在25-35ms左右;
2. 目前整个算法C语言封装,还未进行内联汇编指令优化,因而算法效率还有提升空间;
3. 由于缺少字符训练库,目前字符的识别率效果不够理想;
4. 目前版本未考虑双层车牌和军用等特殊车牌,但已经能够实时应用于停车场等场所的实时监控;
基本状况描述完毕,接下来简单介绍下车牌识别的基本方法:
车牌识别这一领域算法研究多年,方法也多样,本文方法重点注重算法效率,因而采用都为相对较简单算法实现。
整个车牌识别算法流程即: 车牌定位算法+字符分割算法+字符识别算法
下面给出几个学习时参考的博文
http://blog.csdn.net/ybdesire/article/details/6252568 (复杂背景车牌定位)
http://blog.csdn.net/sing_sing/article/details/5937751 (车牌识别二:字符分割)
http://blog.csdn.net/liujia2100/article/details/26989939 (车牌识别--倾斜矫正)
然后本文定位算法主要参考上述第一篇文章边缘检测方法实现快速的车牌定位,测试图如下图所示:
上图为测试原图(图像分辨率 637*621)
图为边缘检测结果
图为检测结果图(分辨率有变化),图中检测结果分为蓝 {MOD}框和红 {MOD}框两种颜 {MOD},蓝 {MOD}框为车牌定位算法输出结果;红 {MOD}框为车牌识别确认结果。
再上传一张字符分割图吧。
没有放大,有点小(呵呵),将就凑合看看。
整个算法还有不少需要改进的地方,近期主要方向:
1. 输出车牌区域优化精准;
2. 收集字符训练,尤其是汉字;
3. 研究多层车牌和新式军车等车牌。
4. 研究代码优化,期望实现500万分辨率全幅图像整个算法耗时在15ms内。
最后,欢迎感兴趣的朋友参与讨论,有问题请联系Email: sparta6666@163.com