找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于MATLAB的车牌识别系统设计与实现

[复制链接]
admin 发表于 2013-3-22 19:23:37 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 通过对车牌定位、车牌字符分割和车牌字符识别进行研究,提出了一种车牌识别系统的设计和实验仿真方法。该方法首先采用基于Canny 算子边缘检测和数学形态学相结合的方法定位出车牌,进行二值化、滤波和形态学开运算后使用投影二分法分割出7个车牌字符,最后使用模板匹配和特征统计相结合的方法识别出车牌字符。试验表明该方法是有效的、可行的,与传统使用单一算法相比较,该方法大大提高了车牌识别系统的正确率。
关键词: 图像预处理; 车牌定位; 车牌字符分割; 车牌字符识别
       随着世界经济和科学技术的不断发展,智能交通系统越来越多地被人们所关注。车牌识别LPR(License Plate Recognition)是智能交通系统中重要研究课题[1],已成为图像处理和模式识别研究中的热点。整个车牌识别系统主要包括图像预处理、车牌定位、车牌字符分割、车牌字符识别4个模块,其流程图如图1所示。
    20121107051723660593694.gif
   
     图像预处理主要是将输入的彩色图像转换为灰度图像,再进行灰度增强,以达到较好的凸显车牌字符的效果。这里首先将24位R、G、B的彩色图像按式(1)转换成256级的灰度图,以减少存储和计算量,图2是转换后的车牌灰度图。
    20121107051723879343695.gif
   
20121107051723910583696.gif
1 车牌定位
     车牌定位是车牌识别系统中关键的一步,直接关系到车牌字符分割的准确性和系统识别的正确率[2]。通过比较4种典型的边缘检测算子,选择Canny算子对车牌进行边缘检测,然后对车牌进行形态学处理,并统计图像中白色像素点的个数定位出车牌区域。
1.1 4种典型的边缘检测算子
 边缘检测的目的是标识数字图像中亮度变化明显的点,车牌识别4种典型的边缘检测算子有:Roberts算子、Prewitt算子、Sobel算子和Canny算子,图3是这4种典型的边缘检测算子对车牌图像的检测效果图。
    20121107051723957463697.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所示。
    20121107051723973083698.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 23:11 , Processed in 0.057955 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表