MATLAB 车牌自动识别系统设计 图像分割与图像增强方法 车牌识别

一 车牌自动识别系统总体设计

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 基于matlab的车牌识别系统,第一种方法采用图像分割与图像增强的方法,采集的车牌后将图像传入程序中,对图像进行处理后将车牌号提取出来,然后与数据库的样本进行对比后输出结果。 本课题拟采用的思路: 1. 利用MATLAB建立程序 2. 输入图像后对其进行预处理 3. 使用最大值法或平均值法进行灰度转化 4. 基于边缘检测法或神经网络对进行车牌定位及分割 5. 利用二值化和sobel算子加快处理速度 6. 基于分割算法对字符进行分割及归一化处理 7. 字符归一化 8. 使用识别算法对字符进行识别 9. 使用不同的灰度转化、分割、字符归一化等方法对车牌图片进行识别,并比较不同方法之间识别的速度以与精度。 10. 输出结果 |

车牌识别系统主要包括图像的采集与预处理、区域搜索与分割、字符分割、字符识别。通过摄像机采集到的车牌图片进行提前的初步操作。随后对于操作后的图片进行搜索与分割。通过字符分割算法对图片进行划分。通过归一化这种方法,间接实现字符特征提取,为字符识别提供有效信息。

二 图像处理

这种软件系统中最重要的两个功能就是图像分析与软件的处理。针对图片的处理涉及到的方法有**灰度化处理,灰度拉伸增强对比度,滤波处理降低噪点,进而采用小波变换分析提取图片的边缘。**通过处理后的图片车牌的显示就非常清晰,此时车牌区域与非车牌区域已经分开,根据定位方法可以较容易的进行精确的定位。

图3.2原图、图3.3灰度图与直方图

2.2 边缘提取

图3.5 灰度增强后的图像

2.3 平滑处理

其中,M 为邻域中除中心象素点f(i,j) 之外包括的其它象素总数,对于4邻域M=4,8 邻域M=8。然而,邻域平均值的平滑处理会使得图象灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。为了克服这种平均化引起的图象模糊现象,我们给中心点象素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图象模糊。

图3.8 平滑处理后的图像

图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。边缘提取是较经典的算法,此处边缘的提取采用的是Roberts算子。

图3.9 未滤波直接提取出的边缘

图3.10 经灰度校正后提取的边缘

图3.11 经平滑处理后提取的边缘

对比以上几幅图片,图8的边缘已经模糊掉了。图7中包含的噪声太多,图3.9未经滤波直接提取出的边缘图像最清晰,所包含的有用信息最多。分析这种情况产生的原因,归纳起来主要有以下方面:

1、原始图像清晰度比较高,从而简化了预处理

2、图像的平滑处理会使图像的边缘信息受到损失,图像变得模糊

3、图像的锐化可以增强图像中物体的边缘轮廓,但同时也使一些噪声得到了增强

三 牌照的定位和分割

3.1牌照区域的定位

牌照图象经过了以上的处理后,牌照区域已经十分明显,而且其边缘得到了勾勒和加强。此时可进一步确定牌照在整幅图象中的准确位置[34]。这里选用的是数学形态学的方法,其基本思想是用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构[35]。在本程序中用到了膨胀和闭合这两个基本运算,最后还用了bwareaopen来去除对象中不相干的小对象。

图3.13 腐蚀后图像

3.14 平滑图像的轮廓

图3.15 从对象中移除小对象后图

3.2牌照区域的分割

对车牌的分割可以有很多种方法,本程序是利用车牌的彩色信息的彩色分割方法。根据车牌底色等有关的先验知识,采用彩色像素点统计的方法分割出合理的车牌区域,确定车牌底色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域[36]。

图3.16 行方向区域和最终定位出来的车牌

3.3车牌进一步处理

经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群,即对图像二值化。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。再用模板中的全体像素的平均值来代替原来像素值[37]。

图3.17 裁剪出来的车牌的进一步处理过程图

四 字符的分割与归一化

图3.18 字符分割与归一化流程图

4.1字符分割

一般情况下车牌字符间的间隔相对较大,不会出现所谓的识别性的粘连。字符分割经常是对有连续的文字存在的情况下或字符长度超过某一个阈值,这时就需要进行分割。字符分割是处于字符识别前的有效地准备,有助于实现字符的精确识别。

图3.20 分割出来的七个字符图像

4.2字符归一化

在不同的场合下所采取的图片不相同,由于位置或拍摄角度不同或造成图片中车辆的大小上存在差异,这种情况下车牌文字大小也不相同,在切分后或导致很多差异。这些差异就造成了对后续文字的识别的准确性有很大的影响。

图3.21 归一化处理后的七个字符图像

4.3 字符的识别

字符的识别目前用于车牌字符识别(OCR)中的算法主要有基于模板匹配的OCR算法以及基于人工神经网络的OCR算法。基于模板匹配的OCR的基本过程是:首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。

图3.22 字符识别流程图

取字符模板,接着依次取待识别字符与模板进行匹配,将其与模板字符相减,得到的0越多那么就越匹配。把每一幅相减后的图的0值个数保存,然后找数值最大的,即为识别出来的结果。

图3.23 识别结果

五 设计结果与分析

车牌照的检测,结果如图4所示。

采用彩色通道的牌照区域分割算法进行拍照的分割具有较好的精确性,优点在于本身的色差,一定条件下提高了检测的准确性。这种方法采用MATLAB 语言进行编程实现,从结果看这种方法没有时间的之后。体现出实时监测的要求特性。但实际中这种方法所针对的图片有限制,换一种图片精确度会很大程度上受到影响。

六 代码和报告获取

相关推荐
软件算法开发3 小时前
基于UKF-IMM无迹卡尔曼滤波与交互式多模型的轨迹跟踪算法matlab仿真,对比EKF-IMM和UKF
matlab·ukf·无迹卡尔曼滤波·轨迹跟踪·ukf-imm·交互式多模型·ekf-imm
老艾的AI世界4 小时前
AI定制祝福视频,广州塔、动态彩灯、LED表白,直播互动新玩法(附下载链接)
图像处理·人工智能·深度学习·神经网络·目标检测·机器学习·ai·ai视频·ai视频生成·ai视频制作
追求源于热爱!6 小时前
记4(可训练对象+自动求导机制+波士顿房价回归预测
图像处理·人工智能·算法·机器学习·回归
釉色清风6 小时前
【matlab】绘图 离散数据--->连续函数
开发语言·matlab
dreadp15 小时前
解锁豆瓣高清海报(二) 使用 OpenCV 拼接和压缩
图像处理·python·opencv·计算机视觉·数据分析
xrgs_shz16 小时前
MATLAB的数据类型和各类数据类型转化示例
开发语言·数据结构·matlab
jk_1011 天前
MATLAB中lineBoundary函数用法
开发语言·matlab
struggle20251 天前
2025开源DouyinLiveRecorder全平台直播间录制工具整合包,多直播同时录制、教学直播录制、教学视频推送、简单易用不占内存
图像处理·计算机视觉·开源·音视频·语音识别
BugNest1 天前
计算机视觉和图像处理
图像处理·人工智能·机器学习·计算机视觉·ai
Evand J1 天前
课题推荐:基于matlab,适用于自适应粒子滤波的应用
开发语言·matlab