基于数字图像处理的车牌识别本科毕业论文

 时间:2018-08-19 03:26:31 贡献者:赵腾飞

导读:本科生毕业论文(设计)题 姓 学 专 班 学目: 名: 院: 业: 级: 号:基于数字图像处理的车牌识别设计 周金鑫 数理与信息工程学院 电子信息工程 111 1665110130 刘纯利 职称: 教授指导教师:2014 年 1

机器视觉系统核心技术之数字图像处理
机器视觉系统核心技术之数字图像处理

本科生毕业论文(设计)题 姓 学 专 班 学目: 名: 院: 业: 级: 号:基于数字图像处理的车牌识别设计 周金鑫 数理与信息工程学院 电子信息工程 111 1665110130 刘纯利 职称: 教授指导教师:2014 年 12 月24 日安徽科技学院教务处制1

目录摘要....................................................................... 3 关键词..................................................................... 3 1、设计目的................................................................ 3 2、设计原理:............................................................... 3 3、设计步骤:............................................................... 3 4、实行方案................................................................ 4 4.1. 总体实行方案: ..................................................... 4 4.2. 各模块的实现: ..................................................... 4 4.2.1 输入待处理的原始图像: ......................................... 4 4.2.2 图像的灰度化并绘制直方图: ..................................... 5 4.2.3 边缘检测...................................................... 6 4.2.4 图像的腐蚀操作: .............................................. 7 4.2.5 平滑图像 ...................................................... 8 4.2.6 除去二值图像的小对象 .......................................... 8 4.3 车牌定位............................................................ 9 4.4 字符的分割与识别................................................... 11 4.4.1.车牌的再处理................................................. 11 4.4.2 字符分割 ..................................................... 13 4.5 车牌识别:......................................................... 17 5、总结:.................................................................. 20 6、致谢................................................................... 20 7、参考文献:.............................................................. 202

基于数字图像处理的车牌识别设计电子信息工程专业学生 指导教师 周金鑫 刘纯利摘要:车牌识别在人类社会交通系统中担当重要角色,一个设计优良的车牌识别系 统会给人们生活带来极大的方便, 本文通过运用 matlab 和数字图像处理的一些知识简单 通过图像预处理,车牌定位,字符分割,采用模板匹配法实现车牌字符的识别。

关键词 : 图像预处理 边缘处理 字符分割 字符识别1、设计目的车牌识别系统主要是为了辨别所拍图片中的车牌部分, 以此识别车辆。

通过车牌识 别系统的设计,来实现经过我校西大门的车辆的识别。

2、设计原理:设计的原理主要如下图所示:触发设备 摄像设备 照明设备车 牌 识别 处 理单元图 像 采集 设 备3

3、设计步骤:流程图如下:图象输入图像预处理车牌定位字符分割字符识别4、实行方案4.1. 总体实行方案: 用摄像机获取自然环境下的汽车彩色图像,将彩色图像用 matlab 软件 处理成灰度图像并绘制直方图,然后进行边缘检测图像的腐蚀,平滑图像以 及去除二值图像的小对象等操作, 再进行车牌的定位和字符分割与识别最终 达到识别车牌照的目的。

4.2. 各模块的实现:4.2.1 输入待处理的原始图像: I=imread(‘car.jpg'); imshow(I);%显示车牌的原始图片,结果如下:4

图 4.2.1 原始图像 picture14.2.2 图像的灰度化并绘制直方图: 彩色图像的存储器所需的成本高,且减缓系统的速度执行,所以,在图像识别处 理彩色图像一般都转换成灰度图像,以加快图像信息的处理速度。

从彩色图像到灰度图 像的转换叫做灰度处理。

灰度直方图的横坐标代表图片的像素数,从左到右由暗到亮,灰 度直方图的纵轴就表示其所占有图片的面积,峰值越低就意味着该明暗值的像素数量越 少,从图 4.2.2 可以看出峰值最高的即为车牌区域。

I1=rgb2gray(I);%灰度处理 subplot(1,2,1),imshow(I1);title('gray image'); subplot(1,2,2),imhist(I1);title('灰度图直方图');%绘制灰度图和直方图 显示结果图像如下:5

图 4.2.2 灰度化并绘制直方图 picture2 4.2.3 边缘检测 边缘是一定存在在两个拥有不一样灰度值的相邻的区域之间的,是灰度值不连续的 一种表现,也是分割图象、纹理和形状特征提取等图像分析的基础。

本文用 Roberts 算 子来实现边缘检测, 他是一种利用局部差分算子寻找边缘的算子,Robert 算子图像处理后 结果边缘不是很平滑,当然还需要后续的腐蚀,平滑图像以及去除二值图像的小对象操 作来提高精度。

由于阈值越小检测的边缘越丰富,结合选取的灰度图选择阈值为 0.16 较为合适。

用 roberts 算子实行边缘检测: I2=edge(I1,'roberts',0.16,'both'); imshow(I2);title('roberts operator edge detection image'); 结果如下:6

图 4.2.3 边缘检测 picture34.2.4 图像的腐蚀操作: 腐蚀操作就是通过不断的删除图片上的像素,将图片缩小,以此来达到去除小点状图形 的效果。

se=[1;1;1]; I3=imerode(I2,se);%图像腐蚀操作 imshow(I3);title('corrosion image');图 4.2.4 图像腐蚀操作 picture47

4.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 以下的部分 imshow(I5);title('remove the small objects'); %滤波后图像 显示结果如下 :8

图 4.2.6 除去二值图像的小对象 picture6 4.3 车牌定位 自然环境下,汽车图像背景十分复杂,受光照不均匀、污渍等影响,所以在自然背 景下准确的将车牌区域确定下来是整个识别过程的关键,所以先要对原图像进行大范围 横向(X) ,纵向(Y)像素点相关搜索,找到符合汽车牌照的候选区,然后对候选区做进 一步的分析,判断,最终确定一个最佳的区域作为牌照区域。

代码显示如下: [y,x,z]=size(I5);%返回 I5 各维的尺寸,存储在 x,y,z 中 myI=double(I5);%将 I5 转换成双精度 tic %tic 计时开始,toc 计时结束Blue_y=zeros(y,1);%产生一个 y*1 的零阵 for i=1:y for j=1:x if(myI(i,j,1)==1) %若 myI 的图像中坐标(i,j)的点值为 1,则表示蓝色背景 %则 Blue_y(i,1)的值加 1 Blue_y(i,1)= Blue_y(i,1)+1;%蓝色像素点统计 end end end9

[temp MaxY]=max(Blue_y);%Y 方向车牌区域确定 % MaxY 是 yellow_y 元素中最大值 temp 的索引 PY1=MaxY; while ((Blue_y(PY1,1)>=5)&&(PY1>1)) PY1=PY1-1; end PY2=MaxY; while ((Blue_y(PY2,1)>=5)&&(PY2PX1)) PX2=PX2-1; end10

PX1=PX1-1;%车牌区域校正 PX2=PX2+1; dw=I(PY1:PY2-8,PX1:PX2,:); t=toc; subplot(1,2,1),imshow(IY),title('Line direction areas');%车牌行方向区域的 确定 subplot(1,2,2),imshow(dw),title('positioning color 位后的区域显示如下: images');% 车牌已经定图 4.3.1 车牌的定位 picture7 4.4 字符的分割与识别 4.4.1.车牌的再处理 划分彩色图像需经过灰度变换,二值化,均值滤波,腐蚀和膨胀到一个字符,并对 分割字符进二值化、归一化等图像预处理使车牌图像的车牌号字符分割构成隔离,然后 分析识别已经分割字符识的图像并用文本的车牌号的形式呈现出来。

代码显示如下: imwrite(dw,'dw.jpg');%把彩色车牌写入 dw 文件里11

a=imread('dw.jpg');%读取车牌文件数据 b=rgb2gray(a);%把车牌图像变换为灰度图 imwrite(b,'gray licence plate.jpg');%把灰度图像写入文件里 subplot(3,2,1),imshow(b),title('车牌灰度图像') g_max=double(max(max(b))); g_min=double(min(min(b))); T=round(g_max-(g_max-g_min)/3); % T 表示二值化的阈值 [m,n]=size(b); d=(double(b)>=T); % d:二值图像imwrite(d,'binary licence plate.jpg'); subplot(3,2,2),imshow(d),title('before filtering binary licence plate') %均值滤波之前 % 滤波 h=fspecial('average',3); %模板的尺寸:3*3,average:均值滤波,建立滤波算子 d=im2bw(round(filter2(h,d)));%用指定的滤波器 h 然后对其均值滤波即进行 d imwrite(d,'after average licence plate.jpg'); subplot(3,2,3),imshow(d),title('after average licence plate') % 操作某些图象 % 膨胀或腐蚀 % se=strel('square',3); %图片膨胀处理% 'line'/'diamond'/'ball'... se=eye(2); % eye(n) returns the n-by-n identity matrix 单位矩阵 [m,n]=size(d); if bwarea(d)/m/n>=0.36 d=imerode(d,se);%假如大于 0.36 即图像进行腐蚀 elseif bwarea(d)/m/n<=0.23 d=imdilate(d,se);%假如小于即实现膨胀操作 end12

imwrite(d,'expansion or corrosion the licence plate.jpg'); subplot(3,2,4),imshow(d),title('expansion or corrosion the licence plate'); 运行结果显示如下:图 4.4.1 字符分割与识别 picture84.4.2 字符分割 字符分割就是把已经定位好的车牌区域上的字符分别提取出来, 我们知道中国的车 牌上字符之间是存在间隙的,就是利用这个间隙来实现我们对定位区域的车牌分割,通 过搜索连续在一起的字符块,若长度高于某一阈值,则为两个字符组成,要分割,对分 割好的字符再进行归一化的处理。

%搜索连续在一起的字符块,若长度高于某一阈值,则为两个字符组成,要分割,对 分割 %建立子函数 qiege、getword,调用子程序,分割车牌字符并做归一化的处理 d=qiege(d); [m,n]=size(d);13

subplot(3,2,5),imshow(d),title(n) k1=1;k2=1;s=sum(d);j=1; while j~=n while s(j)==0 j=j+1; end k1=j; while s(j)~=0 && j<=n-1 j=j+1; end k2=j-1; if k2-k1>=round(n/6.5) [val,num]=min(sum(d(:,[k1+5:k2-5]))); d(:,k1+num+5)=0; end end % 进一步切割 d=qiege(d); % 切割出 7 七个字符 y1=10;y2=0.25;flag=0;word1=[]; while flag==0 [m,n]=size(d); left=1;wide=0; while sum(d(:,wide+1))~=0 wide=wide+1; end if wide

基于数字图像处理的车牌识别大学本科毕业论文 (完整版)基于数字图像处理的车牌识别本科毕业论文 (精品)基于数字图像处理的车牌识别本科毕业论文 基于图像的车牌自动识别处理系统本科毕业论文 基于数字图像处理的车牌识别毕业论文 (精品)基于数字图像处理的车牌识别本科毕业设计 (完整版)基于数字图像处理的车牌识别本科毕业设计
计算机专业论文题目计算机本科毕业论文数字图像处理与分析计算机毕业论文题目计算机毕业论文模板数字图像处理技术计算机专业论文题目数字图像处理车牌识别数字图像车牌识别论文数字图像处理参考文献软件专业毕业论文语音信号处理论文车牌识别系统毕业论文图像处理论文数字图像处理小论文计算机专业毕业论文模板六年级可能考的作文 养水仙花作文500字 叙事作文1200字高中 成长的仪式感作文大全 告别…作文800字 用手机拍摄淘宝图片拍摄技巧 室内橱窗设计效果图手绘图 醉隐山人头像 白粉郁金香图片 聊天背景图片个性