基于MATLAB的车牌识别系统毕业论文 联系客服

发布时间 : 星期五 文章基于MATLAB的车牌识别系统毕业论文更新完毕开始阅读a464333d7ed5360cba1aa8114431b90d6d858943

焦作大学毕业设计说明书 第 11 页 共 35 页

原图像进行去噪处理等等。以上所做的这些处理均属于图像预处理的工作。

车牌定位:是指对预处理过的汽车图片进行处理,把车牌部分进行定位,把无用的部分去除,得到定位好的车牌图片。在一张完整的车辆图像中,大部分区域都是背景图像,对识别工作毫无意义,我们可以将背景区域视为无用区域,并设法将其去除,即从复杂的背景图像中准确的定位并分割出车牌区域图像,从原图像中提取出需要的部分舍弃不需要的部分,以便节省系统识别时间,这也是车牌定位分割的目的及意义所在。在定位分割的过程中要保证不能把非车牌区域误判为车牌区域,也不能漏检车牌区域,否则后继的工作将无法进行。

字符分割:对已经定位的车牌图片的进行字符分割,将车牌分割为7个单一的字符图片。被分离出的车牌区域图像,系统并不能直接对其进行识别,还需要将车牌上的每一个字符都独立的完整的分割出来,即从车牌区域图像中将车牌上所包含的每一个字符都切分出来,使其成为不具有任何相关性的单个字符图像,再由系统分别对每个字符进行识别,在对字符进行切分时,要注意保证每个字符的完整度。

字符识别:车牌字符识别是最为关键的一步,前面对车牌图像所做的处理都是为了完成最终的识别。系统输入的是单个的字符图像,输出的却是文本格式的完整的车牌号码,车牌字符识别的准确率直接反映出车牌识别系统性能的好坏。 输出结果:输出识别结果,并进行数据存储。

对于车牌识别系统而言,以上的每一个步骤都是必不可少的,并且后一步骤均是建立在前面步骤的基础之上进行的,因此,只有确保做好每一步才能顺利完成系统最终的识别工作。

一、对车辆图像进行预处理

1.载入车牌图像: function [d]=main(jpg)

[filename, pathname] = uigetfile({'*.jpg', 'JPEG 文件(*.jpg)'}); if(filename == 0), return, end global FILENAME %定义全局变量 FILENAME = [pathname filename]; I=imread(FILENAME);

figure(1),imshow(I);title('原图像');%将车牌的原图显示出来结果如下:

焦作大学毕业设计说明书 第 12 页 共 35 页

2.将彩图转换为灰度图并绘制直方图: I1=rgb2gray(I);%将彩图转换为灰度图

figure(2),subplot(1,2,1),imshow(I1);title('灰度图像');

figure(2),subplot(1,2,2),imhist(I1);title('灰度图直方图');%绘制灰度图的直方图结果如下所示:

焦作大学毕业设计说明书 第 13 页 共 35 页

3. 用roberts算子进行边缘检测:

I2=edge(I1,'roberts',0.18,'both');%选择阈值0.18,用roberts算子进行边缘检测 figure(3),imshow(I2);title('roberts 算子边缘检测图像'); 结果如下:

4.图像实施腐蚀操作: se=[1;1;1];

I3=imerode(I2,se);%对图像实施腐蚀操作,即膨胀的反操作