1、1本科生毕业论文(设计)题 目: 基于数字图像处理的车牌识别设计 姓 名: 周金鑫 学 院: 数理与信息工程学院 专 业: 电子信息工程 班 级: 111 学 号: 1665110130 指 导教师: 刘纯利 职称: 教授 2014 年 12 月 24 日安徽科技学院教务处制2目录摘要 .3关键词 .31、设计目的 .32、设计原理: .33、设计步骤: .34、实行方案 .44.1. 总体实行方案: .44.2. 各模块的实现: .44.2.1 输入待处理的原始图像: .44.2.2 图像的灰度化并绘制直方图: .54.2.3 边缘检测 .64.2.4 图像的腐蚀操作: .74.2.5 平滑
2、图像 .84.2.6 除去二值图像的小对象 .84.3 车牌定位 .94.4 字符的分割与识别 .114.4.1.车牌的再处理 .114.4.2 字符分割 .134.5 车牌识别: .175、总结: .206、致谢 .207、参考文献: .213基于数字图像处理的车牌识别设计电子信息工程专业学生 周金鑫指导教师 刘纯利摘要:车牌识别在人类社会交通系统中担当重要角色,一个设计优良的车牌识别系统会给人们生活带来极大的方便,本文通过运用 matlab 和数字图像处理的一些知识简单通过图像预处理,车牌定位,字符分割,采用模板匹配法实现车牌字符的识别。关键词 : 图像预处理 边缘处理 字符分割 字符识别
3、1、设计目的车牌识别系统主要是为了辨别所拍图片中的车牌部分,以此识别车辆。通过车牌识别系统的设计,来实现经过我校西大门的车辆的识别。 2、设计原理:设计的原理主要如下图所示:3、设计步骤:流程图如下:图象输入触发设备摄像设备 照明设备图像采集设备车牌识别处理单元44、实行方案4.1. 总体实行方案:用摄像机获取自然环境下的汽车彩色图像,将彩色图像用 matlab 软件处理成灰度图像并绘制直方图,然后进行边缘检测图像的腐蚀,平滑图像以及去除二值图像的小对象等操作,再进行车牌的定位和字符分割与识别最终达到识别车牌照的目的。4.2. 各模块的实现:4.2.1 输入待处理的原始图像:I=imread(
4、car.jpg);imshow(I);%显示车牌的原始图片,结果如下:图像预处理车牌定位字符识别字符分割5图 4.2.1 原始图像 picture14.2.2 图像的灰度化并绘制直方图:彩色图像的存储器所需的成本高,且减缓系统的速度执行,所以,在图像识别处理彩色图像一般都转换成灰度图像,以加快图像信息的处理速度。从彩色图像到灰度图像的转换叫做灰度处理。灰度直方图的横坐标代表图片的像素数,从左到右由暗到亮,灰度直方图的纵轴就表示其所占有图片的面积,峰值越低就意味着该明暗值的像素数量越少,从图 4.2.2 可以看出峰值最高的即为车牌区域。 I1=rgb2gray(I);%灰度处理subplot(1
5、,2,1),imshow(I1);title(gray image);subplot(1,2,2),imhist(I1);title(灰度图直方图);%绘制灰度图和直方图显示结果图像如下:6图 4.2.2 灰度化并绘制直方图 picture24.2.3 边缘检测边缘是一定存在在两个拥有不一样灰度值的相邻的区域之间的,是灰度值不连续的一种表现,也是分割图象、纹理和形状特征提取等图像分析的基础。本文用 Roberts 算子来实现边缘检测,他是一种利用局部差分算子寻找边缘的算子,Robert 算子图像处理后结果边缘不是很平滑,当然还需要后续的腐蚀,平滑图像以及去除二值图像的小对象操作来提高精度。由于
6、阈值越小检测的边缘越丰富,结合选取的灰度图选择阈值为 0.16 较为合适。用 roberts 算子实行边缘检测:I2=edge(I1,roberts,0.16,both);imshow(I2);title(roberts operator edge detection image);结果如下:7图 4.2.3 边缘检测 picture34.2.4 图像的腐蚀操作:腐蚀操作就是通过不断的删除图片上的像素,将图片缩小,以此来达到去除小点状图形的效果。se=1;1;1;I3=imerode(I2,se);%图像腐蚀操作imshow(I3);title(corrosion image);图 4.2.4
7、 图像腐蚀操作 picture484.2.5 平滑图像图像平滑是去掉图像中的高频信息,使图像变的模糊,噪声一般都是高频信息,平滑的过程也就意味着除去图片噪声的过程。se=strel(rectangle,16,16);%建立正方形结构元素I4=imclose(I3,se);% 图像聚类和填充imshow(I4);title(smothing image);图 2.5 平滑图像 picture54.2.6 除去二值图像的小对象除去二值图像的小对象就为了去掉面积较小无关的白色区域,将车牌所在的大面积白色区域凸显出来。I5=bwareaopen(I4,1900);% 除去聚团灰度值在 1900 以下的
8、部分imshow(I5);title(remove the small objects); %滤波后图像显示结果如下 :9图 4.2.6 除去二值图像的小对象 picture64.3 车牌定位自然环境下,汽车图像背景十分复杂,受光照不均匀、污渍等影响,所以在自然背景下准确的将车牌区域确定下来是整个识别过程的关键,所以先要对原图像进行大范围横向(X) ,纵向(Y)像素点相关搜索,找到符合汽车牌照的候选区,然后对候选区做进一步的分析,判断,最终确定一个最佳的区域作为牌照区域。代码显示如下:y,x,z=size(I5);%返回 I5 各维的尺寸,存储在 x,y,z 中myI=double(I5);%
9、将 I5 转换成双精度tic %tic 计时开始,toc 计时结束Blue_y=zeros(y,1);%产生一个 y*1 的零阵for i=1:yfor j=1:xif(myI(i,j,1)=1) %若 myI 的图像中坐标(i,j)的点值为 1,则表示蓝色背景%则 Blue_y(i,1)的值加 1Blue_y(i,1)= Blue_y(i,1)+1;%蓝色像素点统计 end end end10temp MaxY=max(Blue_y);%Y 方向车牌区域确定% MaxY 是 yellow_y 元素中最大值 temp 的索引PY1=MaxY;while (Blue_y(PY1,1)=5)end PY2=MaxY;while (Blue_y(PY2,1)=5)end