基于labview的车牌识别停车系统设计.docx
《基于labview的车牌识别停车系统设计.docx》由会员分享,可在线阅读,更多相关《基于labview的车牌识别停车系统设计.docx(42页珍藏版)》请在冰豆网上搜索。
![基于labview的车牌识别停车系统设计.docx](https://file1.bdocx.com/fileroot1/2023-1/7/e8033eec-e8d5-419c-86e7-48c68f516b34/e8033eec-e8d5-419c-86e7-48c68f516b341.gif)
基于labview的车牌识别停车系统设计
基于labview的车牌识别停车系统设计
本科毕业(设计)论文
题目基于LABVIEW的车牌识别停车系统设计
学院机械工程学院
专业测控技术与仪器
学生姓名
学号年级2012
OCR功能实现的。
在此进出上进一步设计停车管理系统,主要使用LABSQL,并配合SQL指令来进行开发的。
实现了车辆进出门禁的自动识别、登记、计费。
其中对零时停车按时计费,对包月车辆不收费。
对150个实际采集样本测试,车牌区域定位成功140个,完全识别出125个车牌,测试识别率为83.3%。
关键词:
LABVIEW车牌识别停车场管理视觉助手LABSQL
LicenseplaterecognitionandParkingmanagementsystembasedongraphicsdesign
Specialty:
Themeasurementandcontroltechnologyandinstrument
StudentNumber:
201210114112
Student:
ZengXingyuSupervisor:
ChengYue
Abstract:
Astheparkinglotmanagementsystemofnetwork,thesoftwaredemandishigherandhigher,thetraditionalparkinglotmanagementsystembasedonthetechnologyofICcardisnolongermeettherequirements.Inthisbackground,thispaperproposesadesignschemeoflicenseplaterecognitionsystembasedonLABVIEWThedesignofparkingmanagementsystemismainlyusedLABSQL,andcooperatewiththedevelopmentofSQLcommands.Thevehicleinandoutofthedoorcanbeautomaticallyidentification,registration,billing.Monthlyvehiclefortemporaryparkingpricing,ontimeincaseofnocharge.
ThissystembasedonNIVISIONdevelopmentmoduleforlicenseplaterecognitionalgorithmdesignVISION,licenseplaterecognitionalgorithmismainlycomposedofthepositioningoftheimagepreprocessing,licenseplatearea,thelicenseplaterecognitionofthreeparts.Theimagesoftheneedtoidentifythespecificprocessisdividedinto:
read,sizenormalization,licenseplatetiltcorrection,preliminarylocalizationandshearplateregionextraction,sizenormalization,shearoffagaintoextractthelicenseplateframe,binarization,OCRtraining,OCRninesteps.Locatelicenseplateareaisthemostkeystepoflicenseplaterecognitionalgorithm,thisdesignmainlyadoptsanHSLcolormodethresholdandmorphologicalprocessing.Licenseplaterecognitionalgorithmisusedinthetemplatematchingmethod,isthroughtheimplementationoftheLABVIEWvisualaideOCRfunction.Inandoutonthefurtherdesignofparkingmanagementsystem,themainuseLABSQL,andcooperatewiththedevelopmentofSQLcommands.Thevehicleinandoutofthedoorcanbeautomaticallyidentification,registration,billing.Monthlyvehiclefortemporaryparkingpricing,ontimeincaseofnocharge.Totest150samples,thelicenseplatelocalizationsuccess148,totallyidentified125plates,testtherecognitionrateis83.3%.
Keywords:
VehiclelicenseplaterecognitionManagementofparkinglotVisionAssistantLBSQL
第1章绪论
1.1研究背景及意义
随着停车场的管理系统对网络化、智能化要求越来越高,传统停车场的管理系统已经不再满足要求了。
传统的停车场的管理主要通过给进入车场的车辆分发IC卡,记录车辆进出时间,作为计费的主要依据,不管是固定车辆还是临时车辆,进出停车场都必须在出入口停车刷卡后,才能进出停车场,在车辆出入繁忙的时段,这种管理方式往往造成塞车的现象,耽误车主宝贵的时间。
针对以上现象,利用车牌识别技术取代传统的IC卡技术,解决车辆进出时必须停下刷卡而造成的停车场进出口塞车现象,是非常有必要的。
车牌识别停车场系统有如下优点:
作为车主,免去刷卡、丢卡、损坏卡的麻烦。
作为管理方,免去安装IC读卡器及维护的麻烦、省去卡片的费用、杜绝一卡多用、免掉发卡的麻烦、充值延期等。
操作简单、系统升级不用换硬件了、并可以与公安部门的报警系统联动等等。
因此进行基于车牌识别的智能停车管理系统的研究是十分重要的。
1.2涉及热门研究领域现状
1.2.1车牌识别研究现状
国内有大量的学者从事这方面研究,提出了很多新颖快速的算法。
中国科学院自动化研究所的刘智勇等开发的系统,在一个样本容量为3180的样本中,车牌定位准确率为99.42%,切分准确率为94.52%,这套系统后来应用于汉王公司的车牌识别系统,取得了不错的效果;南京大学的熊军等提出了基于字符纹理特征的定位算法,准确率达95%【1】。
华中科技大学的陈振学等学者提出了一种新的车牌图像字符分割与识别算法,使用一维循环清零法,通过对垂直投影图进行一次扫描,有效的清除了杂点和间隔符,正确分割率达到了96.8%。
浙江大学的张引、潘云鹤等提出了彩色边缘算子;ColorPrewitt和彩色边缘检测与区域生长相结合的牌照定位算法ColorLP,算法简单,且全面作用在颜色空间的三个分量上,检测出的牌照区域易于与背景剥离;但是计算量和存储量都比较大,难以满足实时性的要求;此外,当车辆区域的颜色和附近颜色相近时,定位失误率会增加。
1.2.2机器视觉研究现状
车牌识别属于机器视觉的研究范畴。
机器视觉是涵盖人工智能、计算机科学、神经生物学、模式识别、图像处理等诸多领域的交叉的学科,主要利用计算机模拟人或再现与人类的视觉有关的某些行为,从目标图像中提取信息处理后加以理解,最终用于实际的检测和控制。
目前,一个典型的机器视觉应用系统包括图像捕捉、光源系统、图像数字化模块、数字图像处理模块、智能判断决策模块和机械控制执行模块。
首先采用CCD摄像机获得被测目标的图像信号,然后通过A/D转换成数字信号传送给专用的图像处理系统,根据像素分布、亮度和色彩等信息,进行各种运算来抽取目标的特征,然后再根据预设的判别标准输出判断结果,去控制驱动执行机构进行相应处理【2】。
好的光源和照明是目前机器视觉应用系统成败的关键,应当具有以下特征:
①尽可能突出目标的特征,在物体需要检测的部分与非检测部分之间尽可能产生明显的区别,增加对比度;②保证足够的亮度和稳定性;③物体位置的变化不应影响成像的质量。
1.3主要研究内容
1)MATLAB、LABVIEW平台初步了解、比较,提出设计方案。
2)图像处理的基本理论及实现方法。
3)学习车牌识别系统中的关键步骤车牌的定位、车牌字符的切分、以及车牌字符的识别的功能的原理及编程实现方法。
4)在清晰的、纯车牌的图像下,在LABVIEW上实现车牌识别。
5)在实际拍摄的复杂环境下图像,定位车牌并实现车牌识别。
6)基于车牌识别,设计停车管理系统,对停车场的实现自动登记管理的门禁系统。
第2章系统总体设计
2.1车牌识别原理概述
车牌识别停车系统的的核心是车牌识别系统,现着重介绍车牌识别系统的组成及原理。
一个完整的车牌号识别系统要完成从图像采集到字符识别输出,过程比较复杂,基本可以分成硬件部分跟软件部分,硬件部分包括系统触发、图像采集,软件部分包括图像预处理、车牌位置提取、字符分割、字符识别四大部分,一个车牌识别系统的示意图与基本结构如图分别如图2-1、2-2所示:
图2-1车牌识别系统示意图
图2-2车牌识别基本处理流程
车牌识别系统基本处理流程:
1)原始图像:
由停车场固定彩色摄像机、数码相机或其他扫描装置拍摄到的图像。
2)图像预处理:
对动态采集到的图像进行滤波,边界增强等处理以便后续处理。
3)车牌位置提取:
自然环境下,由于汽车图像背景复杂、光照不均匀等原因,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。
一般采用的方案是首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来【3】。
通过以上步骤,牌照一般能够被定位。
4)字符分割(可省略):
将提取出的车牌利用算法分割成单个的字符,以便识别。
5)字符识别:
字符识别方法目前主要得算法有两种,即模板匹配算法和人工神经网络算法。
基于模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。
基于人工神经元网络的算法有两种:
一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。
实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。
牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。
这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。
为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,使采集到的图像最利于识别。
6)输出结果:
得到最后的汽车牌照,可以用于后续的处理。
2.2设计方案
2.2.1开发平台选择
车牌识别系统的软件部分大都采用VC++、VB、Matlab、LABVIEW等,有以下主流开发方案:
主流开发方案1:
以MATLAB的ImageAcquisitionToolbox、ImageProcessingToolbox以及NeuralNetworkToolbox工具箱为骨架,以M语言为主要编程语言,部分模块结合C语言开发了一套车牌识别系统。
主流开发方案2:
在LabVIEW平台上利用IMAQVision工具包中300多种机器视觉和科学图象处理的函数库,以及大量的图象预处理、图象分割、图象理解函数库和图形化的工具模块,用户只要在流程图中用图标连接器将所需要的子VI连接起来,就可以完成对获得图像的预处理、理解,从而实现机器视觉。
本课题选用LABVIEW,主要是因为LABVIEW具有以下优点:
1)LABVIEW是图形化编程,可视化程度非常高,对编程基础要求低。
2)LABVIEW具有较强的编辑图形界面的能力。
与用传统的语言进行图象处理系统的开发相比,大幅度地降低了难度和开发周期。
3)LABVIEW提供专门的视觉助手(NIVISIONASSITANT),开发人员可简化编程,能快速完成视觉应用系统的模型建立
4)LABVIEW使用方便灵活,库函数丰富,并且内部集成了很多工具箱,为程序开发提供现成模块。
5)LABVIEW作为软硬件综合开发平台,外部仪器接口多,方便与硬件的通信及调试。
2.2.2车牌识别设计方案
图2-3车牌识别设计方案
此设计方案基本思路与2.1原理所述大体一致,但是显著地区别在于,本设计不需要进行字符切割,就能通过LABVIEW的视觉助手OCR模块自动切割识别。
1)原始图像:
由于时间有限,原始图像由手机直接拍摄汽车获得,上传并保存在电脑上以便测试使用。
拍摄时与车辆的距离、角度、光线多元化,确保了车牌识别算法的普遍性。
2)图像大小归一化:
由于LABVIEW的图像助手处理区域随图像大小的改变而改变,故首先要将图像大小设置为固定值,本设计选用1024*768像素(可根据需求改变)。
3)车牌的倾斜校正:
由于倾斜的车牌不利于后续定位和识别,故要进行一定校正。
4)初步定位并剪切出车牌:
主要是通过LABVIEW视觉助手(VISIONASSISTANT)中的颜色阀值(ColorThreshold)中的HSL颜色模式基本选中车牌区域,再经过后续的高级形态学、滤波等处理就初步提取出车牌。
5)图像大小再归一化:
虽然经过第一次归一化处理后的原始图像大小一致,但是车牌区域在每张图像大小和比例是不一样的,为了进一步剪切掉车牌的边框及后续的识别,固必须再次对初步定位剪切出的车牌大小归一化。
6)车牌剪切去掉边框:
初步定位剪切出的车牌图像一般带有边框和固定用的螺母,这一步非常关键,如不能剪切掉,将极大地降低OCR识别率,甚至不能识别。
此步骤采取的方法较为简单,直接估算上下左右需剪切多少像素,可通过几次试验获得。
7)图像二值化:
OCR识别的一般图像为“白底黑字”或者“黑底白字”图像,故必须对彩色的车牌进行二值化处理。
可通过LABVIEWIMAQVision函数库先进行图像灰度化后编程实现。
8)OCR训练与识别:
本设计所采用的识别是基于模板匹配法的。
即先要进行模板训练,建立识别模板库后,再将需识别的字符与模板库一一比对,最后选最佳匹配作为识别结果本。
本设计的OCR识别训练与识别均通过LABVIEW视觉助手(VISIONASSISTANT)中的OCR模块,根据相关设置直接训练。
2.3相关软件简介
2.3.1LABVIEW简介
LabVIEW是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
利用LabVIEW可以产生独立运行的可执行文件,它是一个真正的32位/64编译器。
它的方便之处就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能。
2.3.2NI视觉开发模块简介
NI公司的视觉开发模块是专为开发机器视觉和科学成像应用的工程师及科学家而设计。
该模块包括NIVisionAssistant和IMAQVision两部分。
NIVisionAssistant是一个交互式的开发环境,开发人员无需编程,即能快速完成视觉应用系统的模型建立;IMAQVision是一套包含各种图像处理函数的功能库,它将400多种函数集成到LabVIEW和MeasurementStudio,LabWindows/CVI,VisualC++及VisualBasic开发环境中,为图像处理提供了完整的开发功能【4】。
NI视觉开发模块供从事开发机器视觉和科学图像应用的科学家、工程师和技术人员使用。
NI视觉开发模块包括NIVisionAssistant--供需要不通过编程就实现将LabVIEW应用快速成型的直观环境;以及IMAQ视觉--拥有强大视觉处理函数的库。
与其它视觉产品不同,NIVisionAssistant和IMAQ视觉的紧密协同工作简化了视觉软件的开发。
NIVisionAssistant可自动生成LabVIEW程序框图,该程序框图中包含NIVisionAssistant建模时一系列操作的相同功能。
您可以将程序框图集成到自动化或生产测试应用中,用于运动控制、仪器控制和数据采集等。
其特点有:
1)高级机器视觉、图像处理功能以及显示工具。
2)高速模式匹配可以定位大小方向各异的多种对象,甚至在光线不佳时也可实现。
3)用于计算82个参数的颗粒分析(Blobanalysis),包括对象的面积、周长和位置。
4)包括用于1维和2维代码和OCR读取工具。
5)用于纠正透镜变形和相机视角的图像校准功能。
6)灰度、彩色和二进制图像处理及分析。
第3章车牌识别程序设计
3.1图像读取与简单预处理
图3-1图像读取与简单预处理程序
1)本段程序的输入为“车牌图像保存路径”,以此来选择保存在电脑上需要识别的原始图像。
2)IMAQCreateVI:
为图像创建一个临时储存位置,用于后续对图像的操作。
”sourse”为其在临时的内存的名称,RGB(U32)为所储存图像的格式。
3)IMAQReadFileVI:
用于是打开读取某路径下的图像。
4)IMAQResampleVI:
用于自定义放大后缩小图像,本设计定义为1024*768大小。
图3-2图像读取与简单预处理结果
3.2车牌区域定位剪切
3.2.1车牌的倾斜校正
为了方便识别,需要在处理前对车牌进行倾斜矫正。
倾斜以车牌的顶边为准。
图3-3倾斜校正程序
1)IMAQRotateVI:
用于旋转图像,输入为角度,旋转方向为逆时针。
2)VisionAssistant内部处理图:
图3-4视觉助手计算倾斜角度流程
接下来介绍介绍visionassitant内部具体设置:
1)颜色阈值(ColorThreshold):
将ColorModel设置为HSL,再将Hue设置为140-170,Saturation设置为80-255,Luminance设置为0-255.(注此步骤为车牌区域识别的关键)。
处理效果如图3-5所示
2)高级形态学(Adv.Morphology):
选择ConvexHull算法。
2)凸包算法,是图形学中的概念,处理后粒子没有凹下去的地方.
3)基础形态学(BasicMorphology):
选择AutoMedian算法。
4)滤波(ParticleFilter):
选择Area,并将Parameter设置为8000-307200。
此设置根据自定义图片大小后,4)通过调试找到车牌区域处理后的大致大小。
5)高级直线边缘(Adv.StraightEdge):
设置如图3-6所示。
6)卡尺测量工具(Caliper):
在GeometricFeature栏中选择AnglefromHorizontal以完成顶边倾斜角度如图3-7所示。
图3-5颜色阈值处理效果
图3-6高级直线边缘设置方式
图3-7测量顶边倾斜角度
图3-8倾斜矫正后的结果
3.2.2车牌的初步定位剪切
图3-9车牌的初步定位剪切程序图
1)IMAQConvertRectangletoROIVI:
根据视觉助手获得定位后的车牌上下左右坐标生成一个感兴趣的区域。
2)IMAQExtractTetragonVI:
裁剪函数。
根据车牌定位区域从原图裁剪出车牌。
3)IMAQWriteFileVI:
将初步定位剪切出的车牌保存到某路径,以便后续调试。
4)视觉助手处理过程如图3-10
图3-10助手初步定位处理过程
初步定位处理过程visionassitant内部具体编程设置:
其中1)至4)步骤与倾斜校正的视觉助手的处理过程是一样的。
1)颜色阈值(ColorThreshold):
将ColorModel设置为HSL,再将Hue设置为140-170,Saturation设置为80-255,Luminance设置为0-255.(注此步骤为车牌区域识别的关键)。
处理效果如图3-5所示
2)高级形态学(Adv.Morphology):
选择ConvexHull算法。
凸包算法,是图形学中的概念,处理后粒子没有凹下去的地方.
3)基础形态学(BasicMorphology):
选择AutoMedian算法。
4)滤波(ParticleFilter):
选择Area,并将Parameter设置为8000-307200。
此设置根据自定义图片大小后,通过调试找到车牌区域处理后的大致大小。
5)6)夹钳工具(MaxClamp):
获取图形上下或者左右极限坐标。
连续两次,第一次求左右坐标,第二次求上次坐标。
图3-11初步提取车牌区域后结果
3.2.3车牌剪切去掉边框
初步截切出的车牌区域大小不一,为了使车牌剪切去掉边框具有普遍性,故对初步定位后的图片进行大小统一化。
后使用剪切的方法,切掉车牌边框,实现精确定位。
3-12车牌剪切去掉边框程序
图3-13车牌剪切去掉边框结果
3.3车牌二值化处理
OCR准备识别的前提是将图像处理为黑底白字或者白底黑字。
其中100-255表示颜色阀值选择范围。
单独的255表示选择处理后输出白色和黑色。
图3-14车牌二值化程序
1)IMAQExtractSingleColorPlaneVI:
将彩色的车牌转化为灰度图以便二值化。
2