首页 > 编程学习 > 基于模板匹配与字符分割算法的车牌识别系统研究-含Matlab代码

目录

  • 一、引言
  • 二、车牌识别的关键步骤
  • 三、车牌识别过程的关键技术介绍
    • 3.1 图像采集模块
    • 3.2 图像预处理模块
      • 3.2.1 图像的灰度化处理
      • 3.2.2 图像的增强处理
      • 3.2.3 图像的边缘检测处理
    • 3.3 车牌定位模块
    • 3.4 字符分割模块
    • 3.5 字符识别模块
      • 3.5.1 基于特征的字符识别方法
      • 3.5.2 基于神经网络的字符识别
      • 3.5.3 基于模板匹配的字符识别
  • 四、车牌识别系统
  • 五、参考文献
  • 六、程序获取

一、引言

随着人口的增长以及国民经济水平的不断提高, 近年来汽车使用量一直在增加, 汽车在交通运输中起着很大的作用, 随之而来的车辆检测和违规行为抓拍成为影响车辆管理的关键。车牌识别是一种仅通过车牌识别车辆的图像处理技术, 无须识别外部的卡片、标签或发射器, 只需识别车牌即可。因而, 实时车牌识别在交通规则的自动监控和公共道路的执法维护中起着重要的作用。

车辆牌照的提取与识别是汽车识别领域的研究热点之一,有学者提出了利用光学字符识别技术实现自动车牌识别的方法。惠人杰给出了车辆自动识别的知识边界跟踪和模板匹配。李艳玲将双向联想记忆( BAM) 神经网络用于车牌识别, 但是经验证它仅仅适用于少量的模式。马婉婕提出了基于模糊逻辑和神经网络的汽车车牌识别算法, 采用模糊逻辑进行分割, 离散元神经网络( DTCNN) 进行特征提取。考虑到单一类别车辆的形状和尺寸的多样性, 使用简单的参数很难对车辆进行分类, 当需要多个类别且在诸如遮挡、阴影、相机噪音、光线变化和天气状况等复杂环境条件时, 识别过程变得更加困难[1]。

二、车牌识别的关键步骤

通过对我国车牌图像进行收集分析, 车牌上的字符有着如下特点 : 车牌的第一个字符通常为汉字, 一般是该车所在地省份或者直辖市的简称 ; 车牌的第二个字符通常是一个大写字母, 代表该车所在地所处省份的某一个地级市 ; 第三个字符到第七个字符, 一般情况下为字母或者数字的组合。 对于车牌的颜色而言, 不同的背景色往往代表着不同的含义,车牌背景为黄色一般代表大车, 车牌背景颜色为蓝色一般代表小车, 车牌背景为黑色一般代表外资企业或者大使馆使用的专用车辆, 军用车牌一般以白色为背景, 字体颜色为红色。

本文研究讨论的车牌针对的对象是民用一般车辆, 其背景颜色为蓝色, 字符颜色为白色。 利用数字图像进行车牌识别的流程如图 1所示。

在这里插入图片描述

图 1 车牌识别流程

三、车牌识别过程的关键技术介绍

3.1 图像采集模块

该模块的硬件部分主要包含高性能摄像机、 高性能 PC机、 图像采集卡和照明设备等。 很多地方的停车场车牌管理系统主要由车辆传感探测器、 高性能计算机、 高性能摄像机和视频采集卡等组成。 硬件设备的作用在于对车辆靠近、 通过、 停留及离开进行辅助判断。

3.2 图像预处理模块

图像采集模块在采集图像的过程中不可避免地会受到实际拍照环境的影响, 例如光线的强弱、 车牌的干净程度、 天气等因素, 都会对最后形成的图像质感造成一定的影响。 通过图像预处理, 提高图像的有效性, 使图像中的有用信息更加容易检测, 显著降低图像中的噪声干扰。 处理主要包括以下几个方面。

3.2.1 图像的灰度化处理

在计算机系统中, 比较常用的颜色空间有 RGB、 YUV、 CMY、 HSI, 不同的色彩空间只是同一种物理量的不同表示。 图像的灰度化主要是将采集的彩色图像变成灰度图像, 减少数字图像处理的数据量。 摄像头采集的图像通常是 RGB 颜色空间下的图像, R 代表红色,G 代表绿色, B 代表蓝色。 可以得到下式
在这里插入图片描述

式中: h 代表最后计算产生的灰度值; wr、 wg、 wb 代表不同的权重。

经过灰度化处理的车牌如下图所示:

在这里插入图片描述

图 2 车牌图像灰度化处理结果

3.2.2 图像的增强处理

图像增强的主要作用是有效提升图像的质量与辨识度, 使图像的后续处理变得更加容易。 空域增强与频域增强是经常使用的增强技术。 直接对图像中任意像素的灰度值进行计算处理, 这时图像中的明暗对比度也会随之变化, 该方法称为空域增强技术。 空域增强技术经常使用的方法包括灰度变换增强、 直方图增强与空域滤波等。频域增强技术先对需要处理的图像进行傅里叶变换, 将图像从空间域变换为频率域, 之后在频率域中对图像进行计算处理, 处理结束后再通过傅里叶反变换将图像从频域转换到空间域。 低通滤波、 高通滤波和同态滤波是频率域增强技术中常用的 3 种方法。

3.2.3 图像的边缘检测处理

边缘检测的原理 : 根据图像的差异性进行检测, 从而有效检测出所需图像中的有效区域。常见的边缘检测算法比较多, 检测效果相对比较好。 微分算子、 Canny 算子与 LOG 算子是常用的边缘检测算法。基于Canny算子的边缘检测结果如下图示

在这里插入图片描述

图 3 车牌的边缘检测结果

3.3 车牌定位模块

车牌定位模块主要利用高性能计算机上的软件算法实现, 该部分主要利用数字图像处理技术进行车牌位置的定位识别。 其可直接把图像分割成目标图像和背景图像, 去除背景中的干扰。 通常情况下, 把目标图像设置为 1, 背景图像设置为 0, 从而得到处理后的图像。 车牌定位识别的过程涉及形态学等学科。 常用的形态学处理图像的方法主要有膨胀处理、 腐蚀处理、 开运算处理与闭运算处理。 车牌定位模块流程如所示。

在这里插入图片描述

图 4 车牌定位模块流程[2]

经过图像腐蚀处理以及寻找车牌区域,其结果如下:

在这里插入图片描述

图 5 车牌定位模块流程

3.4 字符分割模块

车牌图像的分割分为两部分 : 首先在采集的图像中检测获取仅含有车牌的图像区域 ; 其次是对只包含车牌的数字图像进行处理, 得到车牌中的单个字符 ; 接下来对得到的每个字符进行识别分析。 在字符分割模块过程中, 常采用基于投影信息、 边缘信息和轮廓信息提取字符的分割方法。 本文采用垂直投影法进行图像分割, 其流程如图图 6所示。

在这里插入图片描述

图 6 垂直投影法进行图像分割流程

经过阈值分割后的车牌字符如下图所示:

在这里插入图片描述

图 7 车牌字符分割结果

3.5 字符识别模块

识别算法的理论基础是模式识别, 主要有以下几种方法

3.5.1 基于特征的字符识别方法

在对车牌拍照的过程中, 往往容易受采集环境的影响,如车牌图像的洁净度、 车牌字符是否有破损及变形等都会对车牌的采集结果造成影响。 通过采集得到一个原始图像, 然后进行统计、 分析、 计算等处理。 由此可以看出, 统计识别过于依赖采集过程中的原始图像完整性, 采用这种方法得到

3.5.2 基于神经网络的字符识别

在模式识别过程中, 利用神经网络处理一些实际分类模型问题有着不俗的表现, 它具备较强的自适应性与较强的学习能力, 对于复杂、 推理不清晰的问题模型适合采用这种方法。

3.5.3 基于模板匹配的字符识别

利用模板匹配算法进行字符识别相对比较简单, 计算量较小, 运行效率较高。 本文采用这种算法进行字符识别, 步骤如下 :

(1) 使需要识别的测试样本与训练测试样本的大小保持一致 ;
(2) 将需要测试对象与训练样本库中的对象进行对比分析 ;
(3) 获得相似度最高的字符识别结果。

本文采用特征向量距离计算的方法来求得字符与模板中字符的最佳匹配,然后找到对应的结果进行输出。首先,遍历字符模板;其次,依次将待识别的字符与模板进行匹配,计算其与模板字符的特征距离,得到的值越小就越匹配;然后,将每幅字符图像的匹配结果都进行保存;最后,有7个字符匹配识别结果即可作为车牌字符进行输出。

最后的识别结果如下图所示:

在这里插入图片描述

图 8 车牌识别结果

四、车牌识别系统

设计的车牌识别系统如下图所示:
在这里插入图片描述

图 9 车牌识别结果

五、参考文献

[1] 武云飞. 车牌识别系统中的字符分割和识别算法研究 [J]. 安阳师范学院学报, 2020, (05): 32-5.
[2] 李宏伟, 罗自航, 张贺磊. 车牌识别系统的关键技术分析 [J]. 物联网技术, 2022, 12(06): 14-5+9.

六、程序获取

Matlab代码的获取,可私信博主。


博主简介:擅长智能优化算法信号处理图像处理机器视觉深度学习神经网络等领域Matlab仿真以及实验数据分析等,matlab代码问题、商业合作、课题选题与指导等均可私信交流


Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式