汽车牌照自动识别设计.doc

上传人:星星 文档编号:1022985 上传时间:2024-03-23 格式:DOC 页数:16 大小:399.50KB
下载 相关 举报
汽车牌照自动识别设计.doc_第1页
第1页 / 共16页
汽车牌照自动识别设计.doc_第2页
第2页 / 共16页
汽车牌照自动识别设计.doc_第3页
第3页 / 共16页
汽车牌照自动识别设计.doc_第4页
第4页 / 共16页
汽车牌照自动识别设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、1引言随着我国交通迅速发展,人工管理方式已经逐渐不能满足实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。汽车牌照的自动识别技术已经得到了广泛应用。通过对车辆牌照的正确认识,不仅可以实现交通流量的统计和查询,道路负荷的测定和管理,而且可以对肇事车辆、走私车辆、丢失车辆进行辨识和追查。传统的方法是在设定的路口派专人进行观察和笔录,因此工作强度大、统计繁杂、效率低、准确性差。因而对车辆牌照自动识别技术的研究和应用系统开始具有重要的意义。汽车牌照自动识别整个处理过程分为预处理、边缘提取、车牌定位、字符分割、字符识别五大模块,其中字符识别过程主要由以下3个部分组成:正确地分

2、割文字图像区域;正确的分离单个文字;正确识别单个字符。MATLAB是一种强大的数值计算功能的编程工具,在图像处理、信号处理、神经网络中都有着广泛的应用。其数据类型最大的特点是每一种类型都以数组为基础,从数组中派生出来。其所提供的强大的矩阵运算功能。如特征值和特征向量的计算、矩阵求逆灯都可以直接通过MATLAB提供的函数求出。MATLAB还提供了小波分析、图像处理、信号处理、虚拟现实、神经网络等的工具包。其中,图像处理工具包提供了许多可用于图像处理的相关函数。按功能可以分为图像显示;图像文件输入与输出;几何操作;像素值和统计;图像分析与增强;图像铝箔;线性二维滤波器设计;图像变换;领域和块操作;

3、二值图像操作;颜色映射和颜色空间转换;图像类型和类型转换;工具包参数获取和设置等。基于此,用MATLAB软件编程来实现每一个部分,最后识别出汽车牌照,有很大的优势。在研究的同时对其中出现的问题进行了具体分析,处理。2车牌定位2.1预处理及边缘提取 输入车牌图象灰度校正平滑处理提取边缘 图2 预处理及边缘提取流程图 2.1.1图象的采集与转换考虑到现有牌照的字符与背景的颜色搭配一般有蓝底白字、黄底黑字、白底红字、绿底白字和黑底白字等几种,利用不同的色彩通道就可以将区域与背景明显地区分出来,例如,对蓝底白字这种最常见的牌照,采用蓝色B 通道时牌照区域为一亮的矩形,而牌照字符在区域中并不呈现。因为蓝

4、色(255,0,0)与白色(255,255,255)在B 通道中并无区分,而在G、R 通道或是灰度图象中并无此便利。同理对白底黑字的牌照可用R 通道,绿底白字的牌照可以用G 通道就可以明显呈现出牌照区域的位置,便于后续处理。原图、灰度图及其直方图见图2与图3。对于将彩色图象转换成灰度图象时,图象灰度值可由下面的公式计算: G=0.110B+0.588G+0.302R (1) G= (2) 图3 图42.1.2边缘提取边缘是指图像局部亮度变化显著的部分,是图像风、纹理特征提取和形状特征提取等图像分析的重要基础。所以在此我们要对图像进行边缘检测。图象增强处理对图象牌照的可辩认度的改善和简化后续的牌

5、照字符定位和分割的难度都是很有必要的。增强图象对比度度的方法有:灰度线性变换、图象平滑处理等。(1)灰度校正由于牌照图象在拍摄时受到种种条件的限制和干扰,图象的灰度值往往与实际景物不完全匹配,这将直接影响到图象的后续处理。如果造成这种影响的原因主要是由于被摄物体的远近不同,使得图象中央区域和边缘区域的灰度失衡,或是由于摄像头在扫描时各点的灵敏度有较大的差异而产生图象灰度失真,或是由于曝光不足而使得图像的灰度变化范围很窄。这时就可以采用灰度校正的方法来处理,增强灰度的变化范围、丰富灰度层次,以达到增强图象的对比度和分辨率。我们发现车辆牌照图象的灰度取值范围大多局限在r=(50,200)之间,而且

6、总体上灰度偏低,图象较暗。根据图象处理系统的条件,最好将灰度范围展开到s=(0,255)之间,为此我们对灰度值作如下的变换: s = T(r) r=r min,,r max 使得SSmin, Smax,其中,T为线性变换, 图5 灰度线性变换 (3)若 r(50,200)、s(0,255)则: (4) 图6 灰度增强后的图像(2)平滑处理对于受噪声干扰严重的图象,由于噪声点多在频域中映射为高频分量,因此可以在通过低通滤波器来滤除噪声,但实际中为了简化算法,也可以直接在空域中用求领域平均值的方法来削弱噪声的影响,这种方法称为图像平滑处理。4325i,j167823i,j14例如,某一象素点的邻域

7、S 有两种表示方法:8邻域和4邻域分别对应的邻域平均值为,(5) 图7 8 -邻域 4 -邻域模板其中,M 为邻域中除中心象素点f(i,j) 之外包括的其它象素总数,对于4邻域M=4,8 邻域M=8。然而,邻域平均值的平滑处理会使得图象灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。为了克服这种平均化引起的图象模糊现象,我们给中心点象素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图象模糊。图8 平滑处理后的图像图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:近似水

8、平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。边缘提取是较经典的算法,此处边缘的提取采用的是Roberts算子。图9未滤波直接提取出的边缘图10经灰度校正后提取的边缘图11经平滑处理后提取的边缘对比以上几幅图片,图8的边缘已经模糊掉了。图7中包含的噪声太多,图9未经滤波直接提取出的边缘图像最清晰,所包含的有用信息最多。分析这种情况产生的原因,归纳起来主要有以下方面: 1、原始图像清晰度比较高,从而简化了预处理 2、图像的平滑处理会使图像的边缘信息受到损失,图像变得模糊 3、图像的锐化

9、可以增强图像中物体的边缘轮廓,但同时也使一些噪声得到了增强综上所述,结合MATLAB实验过程,得出不是每一种图像处理之初都适合滤波和边界增强。本次汽车车牌的识别,为了保存更多的有用信息,经过多次比较,选择图9作为后期处理的依据。 2.2牌照的定位和分割牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。由于牌照图象在原始图象中是很有特征的一个子区域,确切说是水平度较高的横向近似的长方形,它在原始图象中的相对位

10、置比较集中,而且其灰度值与周边区域有明显的不同,因而在其边缘形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割。对图像进行腐蚀去除杂质通过计算寻找X和Y方向车牌的区域完成车牌定位对分割出的车牌做进一步处理 图12 牌照定位于分割流程图2.2.1牌照区域的定位牌照图象经过了以上的处理后,牌照区域已经十分明显,而且其边缘得到了勾勒和加强。此时可进一步确定牌照在整幅图象中的准确位置。这里选用的是数学形态学的方法,其基本思想是用具有一定形态的机构元素去量度和提取图像中的对应形状以达到对图像分析和识别的目的。数学形态学的应用可以简化图像数据,保持它们基本的形态特征,并除去不相干的结构。在本程序

11、中用到了膨胀和闭合这两个基本运算,最后还用了bwareaopen来去除对象中不相干的小对象。 图13 腐蚀后图像 图14 平滑图像的轮廓 图15 从对象中移除小对象后图像2.2.2牌照区域的分割对车牌的分割可以有很多种方法,本程序是利用车牌的彩色信息的彩色分割方法。根据车牌底色等有关的先验知识,采用彩色像素点统计的方法分割出合理的车牌区域,确定车牌底色蓝色RGB对应的各自灰度范围,然后行方向统计在此颜色范围内的像素点数量,设定合理的阈值,确定车牌在行方向的合理区域。然后,在分割出的行区域内,统计列方向蓝色像素点的数量,最终确定完整的车牌区域。图16 行方向区域和最终定位出来的车牌2.2.3车牌

12、进一步处理经过上述方法分割出来的车牌图像中存在目标物体、背景还有噪声,要想从图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群,即对图像二值化。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素。再用模板中的全体像素的平均值来代替原来像素值。图17 裁剪出来的车牌的进一步处理过程图2.3字符的分割与归一化m,n=size(d),逐排检查有没有白色像素点,设置1=j info=imaqhwinfoinfo = InstalledAdaptors: corecowinvideo%可以看到P

13、C上安装了两个适配器MATLABVersion: 7.6 (R2008a)ToolboxName: Image Acquisition ToolboxToolboxVersion: 3.1 (R2008a)imaqhwinfo()有输入参数的时候,返回一个结构体,包含了指定的适配器的数据信息 win_info=imaqhwinfo(winvideo)%我们看看第二适配器的具体参数win_info = AdaptorDllName: 1x81 char%适配器dll文件绝对路径AdaptorDllVersion: 3.1 (R2008a)%适配器dll文件版本AdaptorName: winvi

14、deo%适配器名称DeviceIDs: 1%设备ID号,这个我们经常需要用到DeviceInfo: 1x1 struct%设备信息,这里主要是图像获取设备的一些参数,比较重要4.1.2了解该图像获取设备的详细信息: win_info.DeviceIDsans = 1 dev_win_info=win_info.DeviceInfodev_win_info = DefaultFormat: RGB24_320x240%获取图片的默认格式DeviceFileSupported: 0DeviceName: USB PC CAMERA P227%设备名称DeviceID: 1%设备号ObjectCon

15、structor: videoinput(winvideo, 1)%对象构建方式,这个绝大部分都是一样的SupportedFormats: 1x12 cell%获取的图像支持格式,一般有多种,DefaultFormat只是默认格式而已4.1.3看看图像获取设备支持的图像格式: dev_win_info.SupportedFormats%可以看到我的PC上的摄像头支持下面12中图片格式ans = Columns 1 through 5I420_160x120 I420_176x144 I420_320x240 I420_352x288I420_640x480Columns 6 through 9

16、RGB24_1280x960 RGB24_160x120 RGB24_176x144 RGB24_320x240Columns 10 through 12RGB24_352x288 RGB24_640x480 RGB24_800x6004.2视频预览、采集和保存4.2.1创建视频输入对象obj = videoinput(adaptorname,deviceID,format)adaptorname:适配器名称,首次可以使用不带参数的imaqhwinfo函数获取eviceID:设备ID号,首次可以通过imaqhwinfo函数获取format:视频采集格式,可以通过DeviceInfo的Suppo

17、rtedFormats获取,不填写则使用默认格式 obj = videoinput(winvideo,1,RGB24_320x240)%这里我们使用默认的视频采集格式Summary of Video Input Object Using USB PC CAMERA P227.Acquisition Source(s):input1 is available.Acquisition Parameters:input1 is the current selected source. 10 frames per trigger using the selected source. RGB24_320

18、x240 video data to be logged upon START. Grabbing first of every 1 frame(s). Log data to memory on trigger.Trigger Parameters:1 immediate trigger(s) on START. Status:Waiting for START. 0 frames acquired since starting. 0 frames available for GETDATA.4.2.2打开视频预览窗口himage=preview(obj,himage)obj:视频采集对象h

19、image:视频预览窗口对应的句柄,也就是说在指定的句柄对象中预览视频,该参数可以空缺至于预览窗口的关闭和停止可以使用colsepreview和stoppreview函数 1. vidRes = get(obj, VideoResolution); 2. nBands = get(obj, NumberOfBands); 3. figure()%指定预览窗体显示的figure4. axes()%指定预览窗口显示的坐标系5. hImage = image( zeros(vidRes(2), vidRes(1), nBands) ); 6. preview(obj, hImage); 4.2.3图

20、像捕捉、显示和保存 1. %frame是HWB的矩阵。H图像高度,由ROIPosition指定;w图像宽度,由ROIPosition指定;B索线个数,由NumberOfBands指定2. frame = getsnapshot(obj);%获取视频的一帧3. imshow(frame);%显示获取那一帧4. imwrite(frame,snap.jpg,jpg);例:for i=1:20 frame = getsnapshot(obj);%获取视频的一帧 frame=ycbcr2rgb(frame); imshow(frame);%显示获取那一帧 imwrite(frame,snap.jpg,

21、jpg);end5 MATLAB环境下图形用户界面(GUI)设计可视化界面 5.1 GUI简述用户界面是人,即用户与计算机或计算机程序的接触点或交互方式,是用户与计算机进行信息交流的方式。计算机在屏幕显示图形和文本,若有扬声器还可产生声音。用户通过输入设备,如:键盘、鼠标、跟踪球、绘制板或麦克风,与计算机通讯。用户界面设定了如何观看和如何感知计算机、操作系统或应用程序。通常,多是根据悦目的结构和用户界面功能的有效性来选择计算机或程序。图形用户界面或GUI是包含图形对象,如:窗口、图标、菜单和文本的用户界面。以某种方式选择或激活这些对象,通常引起动作或发生变化。最常见的激活方法是用鼠标或其它点击

22、设备去控制屏幕上的鼠标指针的运动。按下鼠标按钮,标志着对象的选择或其它动作。本章所描述的图形用户界面的功能,它让用户定制用户与MATLAB的交互方式。命令窗口不是唯一与MATLAB的交互方式。为什么要在MATLAB中建立一个GUI?这是一个很好的问题,简单的回答是可能并不需要。使用MATLAB来分析数据,求解问题,绘制结果的绝大多数的人,并不会发现GUI工具很有用。但另一方面,GUI可以在MATLAB中生成非常有效的工具和应用程序,或是建立演示工作的交互式界面。生成用户图形界面的最常见的理由:编写一个需多次反复使用的实用函数,菜单、按钮、文本框作为输入方法具有意义; 编写函数或开发应用程序供别

23、人使用; 创建一个过程、技术或分析方法的交互式示例; 认为GUI的简洁,性能良好,并且想实践一下。在图形用户界面设计时, 控件是必不可少的。下面分别对它们进行简单的介绍: 命令按钮( Pushbutton) : 鼠标移至上面单击, 按钮被按下随即自动弹起, 执行回调程序。单选按钮(Radio button) :选中时, 圆圈被填充黑点, 属性“Value”值为1; 否则,圆圈为空,“Value”值为0。复选框(Check box) : 选中时, 在方框内添加“”符号, 属性“Value”值为1; 否则, 方框为空,“Value”值为0。编辑框(Edit Text) : 允许用户动态编辑文本字符

24、串或数字, 一般用于让用户输入或修改文本字符串或数字。可在“St ring”属性中设置初始显示的字符串。当使得用户可以动态的在编辑框输入所需要的命令时,输入的现实为字符串形式,一般使用get( findobj (Tag,edit1),string)获得当前Tag属性为edit1的编辑框的句柄值,然后使用命令eval(),将获得的字符串变为MATLAB可以使用的命令。当编辑框用于显示时,使用set(handles.edit1,string,N),作用是使得当前Tag属性为edit1的编辑框输出字符串N。当属性的Max-Min1时,允许输出多行文本,否则只能输出单行文本。静态文本框(Static

25、Tex t) : 用来显示不能被动态修改的文本字符串。滑动条(Slider) : 一般用于从一定的范围中取值, 其“style”属性为“Slider”。图文框(Frame) : 是填充的矩形区域, 一般用来把其他控件放入其中, 组成一组。其本身无回调程序。列表框(List box) : 列出一些选项的清单, 允许用户选择其中的一个或多个选项, 一个或多个的模式由m in 和m ax 属性控制。Value 属性的值为被选中选项的序号, 单击鼠标按钮选中选项后,Value 属性的值被改变, 鼠标释放时执行相应的回调程序。弹出式菜单(Popup Menu) : 提出互斥的一系列选项清单, 用户只能选择其中的某一项, 此时, 其属性“Value”值为该选项的序号。图像显示(Axes) : 显示用户界面的图像、曲线等, 显示曲线、坐标范围可自动更新。应用以上控件时, 可使用对象性(Property Inspector) 来修改其属性, 如背景色、前景色、字体及大小、位置、标志、类型、是否可见等等, 控件不同, 属性也不相同。另外, 借助GU I 设计面板提供的对象对齐工具“Alignment Tool”, 可以很容易地对所选对象进行水平、垂直和间隔排列。在本论文的设计中主要使用了编辑框,静态文本框、命令按钮和图像显示。

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922