matlab车牌识别的实现流程,基于MATLAB的车牌识别系统设计与实现

摘 要: 通过对车牌定位、车牌字符分割和车牌字符识别进行研究,提出了一种车牌识别系统的设计和实验仿真方法。该方法首先采用基于Canny 算子边缘检测和数学形态学相结合的方法定位出车牌,进行二值化、滤波和形态学开运算后使用投影二分法分割出7个车牌字符,最后使用模板匹配和特征统计相结合的方法识别出车牌字符。试验表明该方法是有效的、可行的,与传统使用单一算法相比较,该方法大大提高了车牌识别系统的正确率。

关键词: 图像预处理; 车牌定位; 车牌字符分割; 车牌字符识别

随着世界经济和科学技术的不断发展,智能交通系统越来越多地被人们所关注。车牌识别LPR(License Plate Recognition)是智能交通系统中重要研究课题[1],已成为图像处理和模式识别研究中的热点。整个车牌识别系统主要包括图像预处理、车牌定位、车牌字符分割、车牌字符识别4个模块,其流程图如图1所示。

c8b54d772209ea5965d883f88caae919.gif

图像预处理主要是将输入的彩色图像转换为灰度图像,再进行灰度增强,以达到较好的凸显车牌字符的效果。这里首先将24位R、G、B的彩色图像按式(1)转换成256级的灰度图,以减少存储和计算量,图2是转换后的车牌灰度图。

fd886dcad04afb2cdba063647d674429.gif

a0fb6be171eb82ac70d31accd998c99c.gif

1 车牌定位

车牌定位是车牌识别系统中关键的一步,直接关系到车牌字符分割的准确性和系统识别的正确率[2]。通过比较4种典型的边缘检测算子,选择Canny算子对车牌进行边缘检测,然后对车牌进行形态学处理,并统计图像中白色像素点的个数定位出车牌区域。

1.1 4种典型的边缘检测算子

边缘检测的目的是标识数字图像中亮度变化明显的点,车牌识别4种典型的边缘检测算子有:Roberts算子、Prewitt算子、Sobel算子和Canny算子,图3是这4种典型的边缘检测算子对车牌图像的检测效果图。

1be414a9b548e9e1b95a9b9ae7e8c9c0.gif

实验结果表明,Roberts算子对边缘定位比较准,但对噪声过于敏感,在图像噪声较少的情况下分割效果相当不错。Prewitt算子有一定的抗噪能力,但是这种抗噪能力是通过像素平均来实现的,相当于低通滤波,所以图像有一定模糊,其边缘检测时会受到一定影响。Soble算子对噪声有抑制作用,但对边缘的定位不是很准确,不适合对边缘定位的准确性要求很高的应用。Canny算子具有高定位精度,即能准确地把边缘点定位在灰度变化最大的像素上,同时较好地保留了原有车形的边缘特征,并能抑制虚假边缘的产生,因此本文选取Canny算子作为车牌图像边缘检测算子。

Canny算子边缘检测的实现是由MATLAB图像处理工具箱中edge函数来完成的。edge函数主要是在灰度图像中查找图像的边缘,处理图像的格式为BW=edge(I,′Canny′,thresh),其中I为灰度图像;thresh是一个包含两个阈值的向量,第一个元素是低阈值,第二个元素是高阈值,本文Canny算子边缘检测的MATLAB参数设置如下:

I2=edge(I1,′Canny′,[0.25,0.65]);

figure(3),imshow(I2);title(′Canny算子边缘检测′);

1.2数学形态学处理

数学形态学是由一组形态学的代数运算算子组成的,用这些算子可以对图像的形状和结构进行分析及处理[3]。通过对图像的腐蚀和膨胀运算能使车牌区域连通,并最大限度地消除非车牌区域的噪声干扰。腐蚀和膨胀后的车牌图像如图4所示。

9f79b34ee1fbe316392114c95c1f1f86.gif

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值