数字图像处理-字符分割.docx
- 文档编号:1979182
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:16
- 大小:101.39KB
数字图像处理-字符分割.docx
《数字图像处理-字符分割.docx》由会员分享,可在线阅读,更多相关《数字图像处理-字符分割.docx(16页珍藏版)》请在冰点文库上搜索。
长沙学院
课程设计说明书
题 目车牌提取系统设计系(部)电子与通信工程系专业(班级)10电子二班
姓
名
学
号
指
起
导
止
教
日
师
期
2013.12.16-2013.12.20
长沙学院课程设计鉴定表
姓名 学号 专业 电子信息工程 班级
设计题目 车牌提取系统设计 指导教师指导教师意见:
评定等级:
教师签名:
日期:
答辩小组意见:
评定等级:
答辩小组长签名:
日期:
教研室意见:
教研室主任签名:
日期:
系(部)意见:
系主任签名:
日期:
说明 课程设计成绩分“优秀”、“良好”、“中等”、“及格”、“不及格”五类;
10级数字图像处理课程设计与仿真课题任务书
系(部):
电子与通信工程系专业:
电子信息指导教师:
2013-9-6课题名称 数字图像处理课程设计
1、设计内容(选题范围):
(1)车牌定位:
提取图像中车牌所在的矩形区域
(2)字符分割:
将给定的二值车牌图像中的七个字符从整个车牌图像中分割出来成为单个设 字符
计 (3)数字字符识别:
将给定的10数字个字符图像识别为文本。
内 2、设计要求:
容
(1)查找以下资料:
主要针对车牌定位、车牌分割、车牌提取三个关键词,在教科书、网络、及 图书馆查找相关课题资料,弄清原理;
要
(2)学习Matlab软件的图像处理功能;
(3)学习Matlab软件的界面设计;
求
(4)按学号的个位数选择课题,0-3选第1题,4-6选第2题,7-9选第3题;
(5)要求同学们能够通过自己的努力调试出结果,最好能够界面演示;
(6)按照模板撰写课程设计报告。
设
计本设计要求每组同学能够利用MATLAB对常见的车牌图像进行车牌定位,字符分割,字符工识别,经老师的提示,调试好基本程序后,能够设计简单的界面进行交互式操作,通过相应作的控件,实现基本的演示功能。
难易适中,工作量尚可。
量
起止日期(或时间) 设计内容(或预期目标) 备注进 16周一、周二上午课程设计培训;
度 16周一、周二下午查找资料;
安 2013年12月16日~
排 12月20日
16周一晚上、周三下午及晚上上机仿真;
16周四整理源程序、撰写课程设计报告;
16周五上午整理资料,16周五下午答辩演示。
教研室意见
年月 日 系(部)主
管领导意见
年月 日
目录
摘要 1
1MATLAB简介 1
2字符分割的基本原理 2
1、基本原理 2
2车辆图像预处理 3
2.1图像灰度化 3
2.2图像边缘检测 3
2.3图像腐蚀 3
2.4删除小面积对象 4
2.5车牌定位 4
2.6字符分割 4
3字符分割的仿真 4
4字符分割源程序 6
5心得体会 9
6参考文献 10
摘要
20世纪20年代,图像处理首次得到应用。
20世纪60年代中期,随电子计算机的发展得到普遍应用。
60年代末,图像处理技术不断完善,逐渐成为一个新兴的学科。
利用数字图像处理主要是为了修改图形,改善图像质量,或是从图像中提起有效信息,还有利用数字图像处理可以对图像进行体积压缩,便于传输和保存。
数字图像处理主要研究以下内容:
傅立叶变换、小波变换等各种图像变换;对图像进行编码和压缩;采用各种方法对图像进行复原和增强;对图像进行分割、描述和识别等。
随着技术的发展,数字图像处理主要应用于通讯技术、宇宙探索遥感技术和生物工程等领域。
数字图像处理因易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。
主要用于图像变换、量测、模式识别、模拟以及图像产生。
广泛应用在遥感、宇宙观测、影像医学、通信、刑侦及多种工业领域。
本文针对车牌自动识别系统中关键技术之一的车牌字符分割部分做了深入的研究。
要想将车牌图像正确地分割,必须得到车牌的二值图像,因此本文对车牌字符分割前的预处理进行了较深入研究,尤其是车牌图像二值化后的去噪处理,包括开闭运算、去除边缘等。
其次,在字符分割算法中,给出了垂直投影法,并对车牌字符进行了分割。
实验结果表明,这种方法可以对车牌字符进行分割。
关键词:
MATLAB,数字图像处理,字符分割;二值化;预处理;投影法
1MATLAB简介
MATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。
尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。
另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面
12
车辆图像预处理
图像灰度化
图像边缘检测
首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
MATLAB 应用:
MATLAB产品族可以用来进行以下各种工作:
●数值分析
●数值和符号计算
●工程与科学绘图
●控制系统的设计与仿真
●数字图像处理
●数字信号处理
●通讯系统设计与仿真
●财务与金融工程
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用 MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
2字符分割的基本原理
1、基本原理
车牌定位是车牌识别系统完成图像采集后对图像进行处理的第一步,它的好坏直接关系到整个系统识别率的高低,并且对识别速度有很大的影响。
车牌不能准确定位意味着后面的识别过程都是无效的。
车牌定位
字符分割
2车辆图像预处理
利用摄像头拍摄到的车辆图像往往存在很多噪点,因此在进行识别前要进行车辆图像的预处理。
车辆图像的预处理是指对采集到的车辆图像进行灰度化和去噪处理,以使车辆图像尤其是牌照区域的图像的质量得到改善,同时保留和增强车牌中纹理和颜色的信息,去除可能影响牌照区域纹理和颜色信息的噪点,为牌照定位提供方便。
2.1图像灰度化
灰度图是指只包含亮度信息,不包含色彩信息的图像,例如平时看到的亮度连续变化的黑白照片就是一幅灰度图。
灰度化处理就是将一幅彩色图像转化为灰度图像的过程。
彩色图像分为R、G、B三个分量,分别显示出红、绿、蓝等各种颜色,灰度化就是使彩色的R、G、B分量相等的过程。
灰度值大的像素点比较亮(像素值最大为255,为白色),反之比较暗(像素值最小为0,是黑色)。
本课题使用加权平均值法处理车辆图像,得到的灰度图效果如图3.1所示。
2.2图像边缘检测
边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,边缘检测主要是精确定位边缘和抑制噪点,其基本思想是首先利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置门限的方法提取边缘点集。
常用的传统边缘检测算子有Robert算子、Sobel算子、Prewitt算子、Laplacian算子和Canny算子。
但是传统的边缘检测算法存在很多问题。
例如边缘检测时噪点的影响会通过检测算子被扩散,传统边缘检测算子的门限值的选取是主观的,其值对最后的检测结果有很大的影响等。
由于用传统的边缘检测算子检测到的边缘信息中含有很多无用的干扰信息,所以要想从复杂的背景和种种的干扰中准确的定位出车牌区域是比较困难的。
2.3图像腐蚀
腐蚀处理可以表示成用结构元素对图像进行探测,找出图像中可以放下该结构元素的区域。
腐蚀是一种消除边界点,使边界向内部收缩的过程。
可以用来消除小且无意义的目标物。
如果两目标物间
有细小的连通,可以选取足够大的结构元素,将细小连通腐蚀掉。
2.4删除小面积对象
从二进制图像中移除所有少于2000像素的连接的组件(对象),产生另一个二进制图像。
去除图像中面积过小的,可以肯定不是车牌的区域。
其公式为:
BW2=bwareaopen(BW,P)其效果如图3.5所示。
2.5车牌定位
在车牌初步定位之后,伪车牌已经去除,得到了车牌区域,接着采用投影法进行车牌的精确定位。
现有的车牌定位算法,包括利用车牌纹理特征进行定位的算法、利用图像信息差进行定位的算法、以及利用车牌颜色特征进行定位的算法等各种算法,在完成特征计算之后,都采用了投影的方法进行车牌切分。
通过车牌二值图像可以看出,二值化后的图像,其车牌区域在水平方向的灰度面积值具有明显频繁的跳变,在垂直方向上的投影则显示出明显的峰-谷-峰的特性,并且有多个峰值出现,组成了峰群。
车牌部分的峰值往往比非车牌部分的峰值要大很多。
根据车牌的峰谷特点,可以对初步定位后的车牌进行精确定位。
其步骤包括车牌的横向定位、车牌的纵向定位。
2.6字符分割
汽车车牌的字符分割是车牌自动识别系统中的重要环节.采用模板匹配—垂直投影结合的车牌字
符分割方法利用了模板匹配法能克服对图像二值化后字符粘连及铆钉等的干扰,同时结合垂直投影法分割字符,使车牌在变形的情况下也能将字符分割出来,综合了各自的优点同时也克服了各自的缺
点.。
针对图形用户界面,本文将设计一个简单易用且功能齐全的GUI界面,该界面功能包括:
打开待分割界面、图像的灰度化、图像的二值化,图像的开运算、图像的闭运算、投影法效果和改进法效果以及退出键。
3字符分割的仿真
原图
整体界面
运行界面
4字符分割源程序
functionvarargout=car_1(varargin)a=(handles.img);
b=rgb2gray(a);g_max=double(max(max(b)));g_min=double(min(min(b)));T=round(g_max-(g_max-g_min)/3);[m,n]=size(b);
d=(double(b)>=T);h=fspecial('average',3);d=im2bw(round(filter2(h,d)));se=eye
(2);
[m,n]=size(d);
ifbwarea(d)/m/n>=0.365d=imerode(d,se);
elseifbwarea(d)/m/n<=0.235d=imdilate(d,se);
endaxes(handles.axes_chepai);
imshow(d);d=qiege(d);
[m,n]=size(d);k1=1;k2=1;s=sum(d);j=1;
whilej~=n
whiles(j)==0j=j+1;
endk1=j;
whiles(j)~=0&&j<=n-1j=j+1;
endk2=j-1;
ifk2-k1>=round(n/6.5)
[val,num]=min(sum(d(:
[k1+5:
k2-5])));
d(:
k1+num+5)=0;% ¨•••• ¨•••••••
end
end
d=qiege(d);y1=10;y2=0.25;flag=0;word1=[];
whileflag==0
end
[m,n]=size(d);left=1;wide=0;
whilesum(d(:
wide+1))~=0wide=wide+1;
ifwide d(: [1: wide])=0;d=qiege(d); else temp=qiege(imcrop(d,[11widem]));[m,n]=size(temp);all=sum(sum(temp)); two_thirds=sum(sum(temp([round(m/3): 2*round(m/3)],: )));iftwo_thirds/all>y2 flag=1;word1=temp; %WORD1 end end endd(: [1: wide])=0;d=qiege(d); [word2,d]=getword(d);%word265*34[word3,d]=getword(d);[word4,d]=getword(d);[word5,d]=getword(d);[word6,d]=getword(d);[word7,d]=getword(d);axes(handles.axes3);imshow(word1),title('1');axes(handles.axes4);imshow(word2),title('2');axes(handles.axes5);imshow(word3),title('3');axes(handles.axes6);imshow(word4),title('4');axes(handles.axes7);imshow(word5),title('5');axes(handles.axes8);imshow(word6),title('6');axes(handles.axes9);imshow(word7),title('7'); [m,n]=size(word1);word1=imresize(word1,[4020]); word2=imresize(word2,[4020]); word3=imresize(word3,[4020]); word4=imresize(word4,[4020]); word5=imresize(word5,[4020]); word6=imresize(word6,[4020]); word7=imresize(word7,[4020]);axes(handles.axes10);imshow(word1),title('1');axes(handles.axes11);imshow(word2),title('2');axes(handles.axes12);imshow(word3),title('3');axes(handles.axes13);imshow(word4),title('4');axes(handles.axes14);imshow(word5),title('5');axes(handles.axes15);imshow(word6),title('6');axes(handles.axes16);imshow(word7),title('7'); 5心得体会 本文论述了针对在路口对车辆管理的车牌识别系统,根据图片特征提出了一个行之有效的车牌分割方法。 该车牌系统的算法原理主要包括三个部分: 车牌定位、车牌字符分割、字符识别,本人负责该系统的第二个部分,主要研究探讨了车牌字符分割前的预处理以及字符分割方法。 (1)在车牌字符预处理过程中,用了数学形态学理论,包括开运算和闭运算。 (2)在字符分割过程中,给出了垂直投影法,通过使用这种方法对车牌字符进行分割基本达到了想要的效果。 主要优点是再二值化很好的情况下,可以 很好地把字符分割开来,但对于二值化并预处理后仍然有字符粘连的情况会导致字符无法分割。 在设计中,每个同学都会遇到一些困难,或多或少,这些困难常常让我心情烦躁,比如不能清晰的建立设计模块,不会修改出现的错误等等,然后我向同学寻求帮助,向他们学习,最终通过自己努力建立了模块。 不可避免地程序中肯定依然存在者某些问题,我希望在以后的学习和应用中不断提高自己的能力,攻克遇到的困难。 6参考文献 [1]张云刚,张长水.利用Hough变换和先验知识的车牌字符分割算法.清华大学自动化系信息处理研究所,计算机学报,2004,27 (1): 130 [2]赵海燕,马驷良,顾玲嘉.基于最小面积法进行的车牌字符分割.长春理工大学学报,2006,29(3): 45-47。 [3]杨高波,杜青松.MATLAB图像、视频处理应用及实例.电子工业出版社,2010,1: 23,31。 [4]章毓晋.图象处理和分析.清华大学出版社,2001: 254-277。 [5]刘卫国.MATLAB程序设计教程.中国水利水电出版社,2010。 [6]李云.车牌定位与字符分割算法的研究及实现.成都: 电子科技大学,2010: 21-23。 [7]马婉婕.车牌识别系统中字符分割的研究与实现.上海: 复旦大学,2009 [8]白建华.车牌字符分割及识别算法研究.西安: 西安电子科技大学,2010[9]邹永星.车牌字符分割方法的研究.湖南: 湖南师范大学,2008
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 字符 分割