基于labview的车牌识别停车系统设计_第1页
基于labview的车牌识别停车系统设计_第2页
基于labview的车牌识别停车系统设计_第3页
基于labview的车牌识别停车系统设计_第4页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

- 本科毕业(设计)论文 题 目 基于LABVIEW的车牌识别停车系统设计 学 院 机械工程学院 专 业 测控技术与仪器 学生姓名 学 号 年级 2012 指导教师 职称 2016年 4 月 25 日欢迎下载欢迎下载基于LABVIEW的车牌识别停车系统设计 摘要: 随着停车场的管理系统对网络化、智能化要求越来越高,传统的基于I C卡技术的停车场管理系统已经不再满足要求了。在此背景下,本文提出一种基于LABVIEW的车牌识别停车系统的设计方案。 本系统基于NI VISION视觉开发模块进行车牌识别算法设计,车牌识别算法主要由图像预处理、车牌区域的定位、车牌的识别三大部分组成。对需要识别的图像的具体处理过程分为:读取、大小归一化、车牌倾斜校正、车牌区域初步定位并剪切提取、大小再归一化、剪切去掉提取出的车牌边框、二值化、OCR训练、OCR识别9个步骤。车牌区域的定位是实现车牌识别算法的最关键步骤,本设计主要采用HSL模式下颜色阈值及形态学处理来实现的。车牌识别算法采用的是模板匹配法,是通过LABVIEW的视觉助手的OCR功能实现的。在此进出上进一步设计停车管理系统,主要使用LABSQL,并配合SQL指令来进行开发的。实现了车辆进出门禁的自动识别、登记、计费。其中对零时停车按时计费,对包月车辆不收费。对150个实际采集样本测试,车牌区域定位成功140个,完全识别出125个车牌,测试识别率为83.3%。关键词:LABVIEW 车牌识别 停车场管理 视觉助手 LABSQL 欢迎下载License plate recognition and Parking management system based on graphics designSpecialty: The measurement and control technology and instrumentStudent Number:201210114112Student:Zeng Xingyu Supervisor:Cheng YueAbstract:As the parking lot management system of network, the software demand is higher and higher, the traditional parking lot management system based on the technology of I C card is no longer meet the requirements.In this background, this paper proposes a design scheme of license plate recognition system based on LABVIEW The design of parking management system is mainly used LABSQL, and cooperate with the development of SQL commands.The vehicle in and out of the door can be automatically identification, registration, billing.Monthly vehicle for temporary parking pricing, on time in case of no charge.This system based on NI VISION development module for license plate recognition algorithm design VISION, license plate recognition algorithm is mainly composed of the positioning of the image preprocessing, license plate area, the license plate recognition of three parts.The images of the need to identify the specific process is divided into: read, size normalization, license plate tilt correction, preliminary localization and shear plate region extraction, size normalization, shear off again to extract the license plate frame, binarization, OCR training, OCR nine steps.Locate license plate area is the most key step of license plate recognition algorithm, this design mainly adopts an HSL color mode threshold and morphological processing.License plate recognition algorithm is used in the template matching method, is through the implementation of the LABVIEW visual aide OCR function.In and out on the further design of parking management system, the main use LABSQL, and cooperate with the development of SQL commands.The vehicle in and out of the door can be automatically identification, registration, billing.Monthly vehicle for temporary parking pricing, on time in case of no charge.To test 150 samples, the license plate localization success 148, totally identified 125 plates, test the recognition rate is 83.3%.Keywords: Vehicle license plate recognition Management of parking lot Vision Assistant LBSQL 欢迎下载目 录第1章 绪论11.1 研究背景及意义11.2 涉及热门研究领域现状11.2.1 车牌识别研究现状11.2.2 机器视觉研究现状21.3 主要研究内容2第2章 系统总体设计32.1 车牌识别原理概述32.2 设计方案42.2.1 开发平台选择42.2.2 车牌识别设计方案52.3 相关软件简介62.3.1 LABVIEW简介62.3.2 NI视觉开发模块简介7第3章 车牌识别程序设计83.1 图像读取与简单预处理83.2 车牌区域定位剪切83.2.1 车牌的倾斜校正93.2.2 车牌的初步定位剪切113.2.3 车牌剪切去掉边框133.3 车牌二值化处理133.4 车牌识别143.4.1 建立字符识别库143.4.2 车牌识别结果15第4章 停车管理系统程序设计164.1 LABSQL164.1.1 LABSQL简介164.1.2 LABSQL安装与配置164.2 SQL(结构化查询语言)184.2.1 SQL简介184.2.2 SQL基本指令【6】184.3 停车管理系统主程序204.3.1主程序流程图204.3.2主程序前面板214.4 停车管理系统子程序框图254.4.1 读取数据库新 VI254.4.2 包月信息库 VI264.4.3 门禁信息库VI264.4.4 包月车辆进入门禁274.4.5 非包月车辆进入门禁284.4.6 车辆离开门禁29第5章 测试结果与分析325.1 车牌识别普遍性测试325.1.1 反复训练识别的图像的测试:325.1.2 不训练直接识别图像测试:335.2 车牌识别算法测试结果分析:355.2.1车牌定位效果分析355.2.2 车牌识别效果分析355.3 车牌识别停车系统测试36第6章 总结376.1 心得与体会376.2 不足与展望37参考文献39致谢40欢迎下载第1章 绪论1.1 研究背景及意义 随着停车场的管理系统对网络化、智能化要求越来越高,传统停车场的管理系统已经不再满足要求了。传统的停车场的管理主要通过给进入车场的车辆分发IC卡,记录车辆进出时间,作为计费的主要依据,不管是固定车辆还是临时车辆,进出停车场都必须在出入口停车刷卡后,才能进出停车场,在车辆出入繁忙的时段,这种管理方式往往造成塞车的现象,耽误车主宝贵的时间。针对以上现象,利用车牌识别技术取代传统的IC卡技术,解决车辆进出时必须停下刷卡而造成的停车场进出口塞车现象,是非常有必要的。车牌识别停车场系统有如下优点:作为车主,免去刷卡、丢卡、损坏卡的麻烦。作为管理方,免去安装IC读卡器及维护的麻烦、省去卡片的费用、杜绝一卡多用、免掉发卡的麻烦、充值延期等。操作简单、系统升级不用换硬件了、并可以与公安部门的报警系统联动等等。因此进行基于车牌识别的智能停车管理系统的研究是十分重要的。1.2 涉及热门研究领域现状1.2.1 车牌识别研究现状国内有大量的学者从事这方面研究,提出了很多新颖快速的算法。中国科学院自动化研究所的刘智勇等开发的系统,在一个样本容量为3180的样本中,车牌定位准确率为 99.42%,切分准确率为 94.52%,这套系统后来应用于汉王公司的车牌识别系统,取得了不错的效果;南京大学的熊军等提出了基于字符纹理特征的定位算法,准确率达 95%【1】。华中科技大学的陈振学等学者提出了一种新的车牌图像字符分割与识别算法,使用一维循环清零法,通过对垂直投影图进行一次扫描,有效的清除了杂点和间隔符,正确分割率达到了 96.8%。浙江大学的张引、潘云鹤等提出了彩色边缘算子 ;Color Prewitt 和彩色边缘检测与区域生长相结合的牌照定位算法 Color LP,算法简单,且全面作用在颜色空间的三个分量上,检测出的牌照区域易于与背景剥离;但是计算量和存储量都比较大,难以满足实时性的要求;此外,当车辆区域的颜色和附近颜色相近时,定位失误率会增加。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 的 Image Acquisition Toolbox、Image Processing Toolbox 以及 Neural Network Toolbox 工具箱为骨架,以 M 语言为主要编程语言,部分模块结合 C 语言开发了一套车牌识别系统。主流开发方案2:在LabVIEW平台上利用 IMAQ Vision 工具包中300多种机器视觉和科学图象处理的函数库,以及大量的图象预处理、图象分割、图象理解函数库和图形化的工具模块 ,用户只要在流程图中用图标连接器将所需要的子 VI 连接起来 ,就可 以完成对获得图像的预处理、理解 ,从而实现机器视觉。本课题选用LABVIEW,主要是因为LABVIEW具有以下优点:1)LABVIEW是图形化编程,可视化程度非常高,对编程基础要求低。 2)LABVIEW具有较强的编辑图形界面的能力。与用传统的语言进行图象处理系统的开发相比,大幅度地降低了难度和开发周期。3)LABVIEW提供专门的视觉助手(NI VISION ASSITANT),开发人员可简化编程,能快速完成视觉应用系统的模型建立4)LABVIEW使用方便灵活,库函数丰富,并且内部集成了很多工具箱,为程序开发提供现成模块。5)LABVIEW作为软硬件综合开发平台,外部仪器接口多,方便与硬件的通信及调试。 2.2.2 车牌识别设计方案车牌定位预处理 原始图像 图像大小归一化初步定位并剪切出车牌 图像大小再归一化 车牌剪切去掉边框 图像二值化 车牌的倾斜校正 OCR训练 OCR识别车牌识别 图2-3 车牌识别设计方案此设计方案基本思路与2.1原理所述大体一致,但是显著地区别在于,本设计不需要进行字符切割,就能通过LABVIEW的视觉助手OCR模块自动切割识别。1)原始图像:由于时间有限,原始图像由手机直接拍摄汽车获得,上传并保存在电脑上以便测试使用。拍摄时与车辆的距离、角度、光线多元化,确保了车牌识别算法的普遍性。2)图像大小归一化:由于LABVIEW的图像助手处理区域随图像大小的改变而改变,故首先要将图像大小设置为固定值,本设计选用1024*768像素(可根据需求改变)。3)车牌的倾斜校正:由于倾斜的车牌不利于后续定位和识别,故要进行一定校正。4)初步定位并剪切出车牌:主要是通过LABVIEW视觉助手(VISION ASSISTANT)中的颜色阀值(Color Threshold)中的HSL颜色模式基本选中车牌区域,再经过后续的高级形态学、滤波等处理就初步提取出车牌。5)图像大小再归一化:虽然经过第一次归一化处理后的原始图像大小一致,但是车牌区域在每张图像大小和比例是不一样的,为了进一步剪切掉车牌的边框及后续的识别,固必须再次对初步定位剪切出的车牌大小归一化。6)车牌剪切去掉边框:初步定位剪切出的车牌图像一般带有边框和固定用的螺母,这一步非常关键,如不能剪切掉,将极大地降低OCR识别率,甚至不能识别。此步骤采取的方法较为简单,直接估算上下左右需剪切多少像素,可通过几次试验获得。7)图像二值化:OCR识别的一般图像为“白底黑字”或者“黑底白字”图像,故必须对彩色的车牌进行二值化处理。可通过LABVIEW IMAQ Vision函数库先进行图像灰度化后编程实现。8)OCR训练与识别:本设计所采用的识别是基于模板匹配法的。即先要进行模板训练,建立识别模板库后,再将需识别的字符与模板库一一比对,最后选最佳匹配作为识别结果本。本设计的OCR识别训练与识别均通过LABVIEW视觉助手(VISION ASSISTANT)中的OCR模块,根据相关设置直接训练。2.3 相关软件简介2.3.1 LABVIEW简介LabVIEW是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用LabVIEW可以产生独立运行的可执行文件,它是一个真正的32位/64编译器。它的方便之处就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能。 2.3.2 NI视觉开发模块简介NI 公司的视觉开发模块是专为开发机器视觉和科学成像应用的工程师及科学家而设计。该模块包括NI Vision Assistant 和IMAQ Vision 两部分。NI Vision Assistant 是一个交互式的开发环境,开发人员无需编程,即能快速完成视觉应用系统的模型建立;IMAQ Vision 是一套包含各种图像处理函数的功能库,它将400 多种函数集成到LabVIEW 和Measurement Studio,LabWindows/CVI,Visual C+及Visual Basic 开发环境中,为图像处理提供了完整的开发功能【4】。NI 视觉开发模块供从事开发机器视觉和科学图像应用的科学家、工程师和技术人员使用。NI 视觉开发模块包括NI Vision Assistant-供需要不通过编程就实现将LabVIEW 应用快速成型的直观环境;以及IMAQ 视觉-拥有强大视觉处理函数的库。与其它视觉产品不同,NI Vision Assistant 和IMAQ 视觉的紧密协同工作简化了视觉软件的开发。NI Vision Assistant可自动生成LabVIEW 程序框图,该程序框图中包含NI Vision Assistant 建模时一系列操作的相同功能。您可以将程序框图集成到自动化或生产测试应用中,用于运动控制、仪器控制和数据采集等。其特点有:1) 高级机器视觉、图像处理功能以及显示工具。2) 高速模式匹配可以定位大小方向各异的多种对象,甚至在光线不佳时也可实现。3) 用于计算82 个参数的颗粒分析(Blob analysis),包括对象的面积、周长和位置。4) 包括用于1 维和2 维代码和OCR 读取工具。5) 用于纠正透镜变形和相机视角的图像校准功能。6) 灰度、彩色和二进制图像处理及分析。第3章 车牌识别程序设计3.1 图像读取与简单预处理图3-1 图像读取与简单预处理程序1) 本段程序的输入为“车牌图像保存路径”,以此来选择保存在电脑上需要识别的原始图像。2) IMAQ Create VI: 为图像创建一个临时储存位置,用于后续对图像的操作。”sourse”为其在临时的内存的名称,RGB(U32)为所储存图像的格式。3) IMAQ ReadFile VI:用于是打开读取某路径下的图像。4) IMAQ Resample VI:用于自定义放大后缩小图像,本设计定义为1024*768大小。图3-2 图像读取与简单预处理结果3.2 车牌区域定位剪切 3.2.1 车牌的倾斜校正 为了方便识别,需要在处理前对车牌进行倾斜矫正。倾斜以车牌的顶边为准。图3-3 倾斜校正程序1) IMAQ Rotate VI:用于旋转图像,输入为角度,旋转方向为逆时针。2) Vision Assistant内部处理图:图3-4 视觉助手计算倾斜角度流程接下来介绍介绍vision assitant 内部具体设置:1) 颜色阈值(Color Threshold):将Color Model设置为HSL,再将Hue设置为140-170,Saturation设置为80-255,Luminance设置为0-255.(注此步骤为车牌区域识别的关键)。处理效果如图3-5所示2) 高级形态学(Adv.Morphology):选择Convex Hull算法。2)凸包算法,是图形学中的概念,处理后粒子没有凹下去的地方.3) 基础形态学(Basic Morphology):选择Auto Median算法。4) 滤波(Particle Filter):选择Area,并将Parameter设置为8000-307200。此设置根据自定义图片大小后,4)通过调试找到车牌区域处理后的大致大小。5) 高级直线边缘(Adv.Straight Edge):设置如图3-6所示。6) 卡尺测量工具(Caliper):在Geometric Feature栏中选择Angle from Horizontal以完成顶边倾斜角度如图3-7所示。图3-5 颜色阈值处理效果图3-6 高级直线边缘设置方式图3-7测量顶边倾斜角度图3-8 倾斜矫正后的结果3.2.2 车牌的初步定位剪切图3-9 车牌的初步定位剪切程序图1) IMAQ Convert Rectangle to ROI VI:根据视觉助手获得定位后的车牌上下左右坐标生成一个感兴趣的区域。2) IMAQ Extract Tetragon VI:裁剪函数。根据车牌定位区域从原图裁剪出车牌。3) IMAQ Write File VI:将初步定位剪切出的车牌保存到某路径,以便后续调试。4)视觉助手处理过程如图3-10图3-10助手初步定位处理过程初步定位处理过程vision assitant 内部具体编程设置:其中1)至4)步骤与倾斜校正的视觉助手的处理过程是一样的。1) 颜色阈值(Color Threshold):将Color Model设置为HSL,再将Hue设置为140-170,Saturation设置为80-255,Luminance设置为0-255.(注此步骤为车牌区域识别的关键)。处理效果如图3-5所示2) 高级形态学(Adv.Morphology):选择Convex Hull算法。凸包算法,是图形学中的概念,处理后粒子没有凹下去的地方.3) 基础形态学(Basic Morphology):选择Auto Median算法。4) 滤波(Particle Filter):选择Area,并将Parameter设置为8000-307200。此设置根据自定义图片大小后,通过调试找到车牌区域处理后的大致大小。5) 6)夹钳工具(Max Clamp):获取图形上下或者左右极限坐标。连续两次,第一次求左右坐标,第二次求上次坐标。图3-11 初步提取车牌区域后结果3.2.3 车牌剪切去掉边框初步截切出的车牌区域大小不一,为了使车牌剪切去掉边框具有普遍性,故对初步定位后的图片进行大小统一化。后使用剪切的方法,切掉车牌边框,实现精确定位。3-12 车牌剪切去掉边框程序图3-13 车牌剪切去掉边框结果3.3 车牌二值化处理OCR准备识别的前提是将图像处理为黑底白字或者白底黑字。其中100-255表示颜色阀值选择范围。单独的255表示选择处理后输出白色和黑色。图3-14 车牌二值化程序1) IMAQ ExtractSingleColorPlane VI:将彩色的车牌转化为灰度图以便二值化。2) IMAQ Threshold VI:通个设计颜色阀值,将灰度图像转化为二值图像。图3-15 将车牌二值化处理为黑底白字效果图3.4 车牌识别 3.4.1 建立字符识别库视觉助手自动切分车牌,然后手动进行训练。其中主要设置项如下:图3-16 建立字符识别库1) Character:设置为Light on Dark,白底黑字识别模式。2) 通过设置Size & Space 完成对自动分割字符的设置。图3-17 识别助手OCR识别训练后生成的模板3.4.2 车牌识别结果图3-18识别程序图3-19 识别效果图第4章 停车管理系统程序设计 本系统主要进行的是软件设计,是基于第三章车牌识别的系统的开发延伸:车辆进入或离开门禁时,进行车牌识别,首先通过对储存门禁信息的数据库的查询,判断该车辆是进入还是离开门禁,并进行相关的进门或出门时间登记,再查询该车辆是否是包月用户,最后对准备进门的车辆进行登记或对准备出门的车辆收费。包月用户不收费,临停汽车按设置的费率和停车时间显示出停车费用,设计的软件人机界面良好,用户方便进行设置和使用.另外还主要使用LABSQL和ACCESS 2010在SQL语言的基础上进行本系统开发。4.1 LABSQL4.1.1 LABSQL简介LabSQL是一个免费的、多数据库、跨平台的LabVIEW数据库访问工具包。LabSQL支持Windows操作系统中任何基于ODBC的数据库,将复杂的底层ADO及SQL操作封装成一系列的LabSQL VIs。利用LabSQL 几乎可以访问任何类型地数据库,执行各种查询,对记录进行各种操作。它的优点是易于理解,操作简单,不熟悉 SQL 语言的用户也可以很容易地使用。只需进行简单地编程,就可在 LabVIEW中实现数据库访问。它还有一个最大的优点是源代码开放,并且是全面免费的【5】。4.1.2 LABSQL安装与配置安装:LabSQL的安装方法和简单,在labview安装目录下的user.lib文件夹中新建一个名称为LabSQL的文件夹,LabSQL下载包解压到LabSQL的文件夹中。解压后可以看到function和Example两个文件夹,及ADO2010帮助文档和README_FIRST文本文档。安装完成后,运行Labveiw,在“函数”到“用户库”子选板 ,可以找到LABSQL 的子VI7。配置:你需要先创建一个DSN(Data Source Name),这样你才能在Windows下让LabView和MySQL相连接。你需要用ODBC (Open Database Connectivity)来创建DSN,你可以在Administrative Tools里点击Data Sources (ODBC)来开启ODBC程序,或者直接在运行里输入odbcad32.exe。在创建DSN之前,你需要确保你的系统安装了MySQL Connector ODBC ,你可以到MySQL网站下载。在安装完MySQL ODBC Connector之后,你应该就可以为你的数据库创建DNS了。安装后,按如下方法进行下面的步骤:1)在控制面板或者开始的所有程序中的管理工具,管理工具的子选板有数据源(ODBC)。打开数据源(ODBC)。图4-1 打开数据源管理器2)点击dBASE Files,再点击添加,出现如图的界面,点击Microsoft Access Driver(*.mdb),再点击完成。图4-2 添加数据库驱动程序3)出现如图界面,选中myDB,并点击旁边的“配置”按钮图4-3添加驱动成功后点击配置4)再点击“选择”按钮,绑定数据库所在的位置图4-4绑定数据库这样,就完成DSN的创建。此后,LABSQL就可以利用这个DSN访问与之相关联的Access数据库了。4.2 SQL(结构化查询语言)4.2.1 SQL简介SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。4.2.2 SQL基本指令【6】(1) 数据记录查询筛选:select * from 数据表 where 字段名=字段值 select * from 数据表 where 字段名 like %字段值% order by 字段名 select top 10 * from 数据表 where 字段名 order by 字段名 select * from 数据表 where 字段名 in (值1,值2,值3)select * from 数据表 where 字段名 between 值1 and 值2(2) 更新记录:update 数据表 set 字段名=字段值 where 条件表达式update 数据表 set 字段1=值1,字段2=值2 字段n=值n where 条件表达式(3) 删除数据记录: delete from 数据表 where 条件表达式 delete from 数据表 (将数据表所有记录删除)(4) 添加数据记录:insert into 数据表 (字段1,字段2,字段3 ) values (值1,值2,值3 )insert into 目标数据表 select * from 源数据表 (把源数据表的记录添加到目标数据表)4.3 停车管理系统主程序 4.3.1主程序流程图 进门登记NO 收费0元YES是否进门? 登记出门时间是否包月?YES 按时收费 收费登记NO 等待车辆进门或出门的车辆 识别车牌 图4-5 主程序流程图4.3.2主程序前面板图4-6 主程序前面板主界面图4-7 主程序前面板门禁登记展示4-8 主程序前面板车牌识别处理过程界面4-9 主程序前面板包月信息显示4-10 主程序前面板数据库设置面板4-11 主程序前面板保存设置4.3.3主程序程序框图图4-12 主程序图11) 递归文件列表 VI :用于依次输出文件夹内的所有文件,本设计用于模拟汽车依次进入门禁的的情况下的输入。2) 识别车牌 VI:自编子VI,是由第三章中车牌识别程序封装而来。3) 包月信息库 VI:自编子VI,用于查询车辆是否包月,并输出车用车辆的信息。内含“读取数据库新VI”。4) 门禁信息库 VI: 自编子VI,用于查询车辆是否已经进门,以便判断车辆是进行进门登记还是出门登记。内含“读取数据库新 VI”。图4-13 主程序图25) 包月进门登记 VI:自编子VI,用于对未进门的包月用户进入进门禁的信息详细登记(车牌号、学院、姓名、进入时间),即将信息写入数据库登记表中。内含“详细写入数据库 VI”6) 非包月进门登记 VI:自编子VI,用于对未进门的非包月用户进行进门禁的信息简单登记(车牌号、进入时间)即将信息写入数据库登记表中。内含“简单写入数据库 VI”注:之所以包月与非包月分别进行登记,是由于包月用户写入数据库的信息多一些,受限于我的LABSQL编程基础,无法将两类信息用一个子VI实现。图4-14 主程序图3 7) 出门登记 VI:自编子VI,用于车辆离开门禁时向数据库的门禁登记表写入车辆的离开时间。内含“出门写入数据库 VI”8) 出门禁收费 VI:自编子VI,用于读取车辆进门、出门时间,设置费率,计算停车时间,并根据是否包月进行收费。内含“读取数据库新 VI”、“按分钟收费计算 VI”。9) 收费写入数据库 VI:自编子VI,用于将收费信息写入数据库,以便检查。4.4 停车管理系统子程序框图4.4.1 读取数据库新 VI图4-15 读取数据库新 VI其中1)4)子VI均来自于LABSQL外部软件包。1) ADO Connection Create VI:创建一个连接数据库接口2) ADO Connection Open Vi:建立与数据库的连接。数据库Connection String“DSN=myDB”指定,注:其中myDB是通过ODBC配置的DSN名称,根据自己的定义填写。3) SQL Execute VI:通过此VI的Command Text输入SQL命令,实现对数据库信息的查询、修改、添加、删除。为核心操作子VI4) ADO Connection Close Vi 关闭与数据库的连接。5) 索引数组:用于将数据库的二维数组抽取为所需的一维数组。6) 十进制字符串至数值转换 VI:序号字符串转换为数值数组。7) 数组最大值最最小值 VI:引出最大索引接线端并加1显示,以此来确定数据库有多少行登记数。注:数组索引从0开始的,所以最大索引数加1才等于有多少行登记数。 4.4.2 包月信息库 VI本程序功能主要是查询输入的识别后的车牌是否是包月用户,输出查询结果,图4-16 包月信息库 VI1) 读取数据库新 VI:自编子VI,程序及功能,前文已经有介绍了。2) 布尔值至(0,1)转换 VI:将判断结果转化为0或1方便后续处理。4.4.3 门禁信息库VI程序的基本结构与4.4.2包月信息库一样,差异在于读取并查询的表格不同,包月信息库查询的是表1包月信息,门禁信息库查询的是表2,表1表2保存的内容也是有差别的。图4-17 读取门禁信息库并判断车辆是否进门4.4.4 包月车辆进入门禁4.4.4.1包月进门登记VI用于对未进门的包月车辆,进行进入进门禁的信息详细登记(车牌号、学院、姓名、进入时间),即将信息写入数据库登记表中。进门登记时,收费默认写入为0元图4-18 包月车辆进入门禁子VI1) 获取日期/时间(秒)函数:用于输出不同格式的系统时间。 本设计采用的输出格式为24小时制的时间,例如12:34。2) 获取日期/时间字符串 函数:用于将时间的格式转化为字符串。 3) 详细写入数据库 VI:自编VI,用于将包月车辆的信息转化为SQL语言,写入数据库。4) 加入的字符串常量,如逗号和前后引号,是为了符合SQL语言的格式,将不同的元素隔开。 4.4.4.2 详细写入数据库 VI 将包月的车辆的进门信息(车牌号,学院,姓名,进入时间,收费)写入数据库。图4-19细写入数据库 VI结合4.4.4.1的程序实际写入SQL语言命令为:insert into 表2 (车牌号,学院,姓名,进入时间,收费) values(识别车牌号,查询出的学院,查询出的姓名,进入时间,0)备注:除中文内容外其余字符必须在英文字符下输入,否则无法识别。4.4.5 非包月车辆进入门禁非包月用户进入门禁,由于是零时停车,无法获得学院、姓名等信息,只对进入车辆的识别后的车牌号及进入门禁的的使劲进入登记。4.4.5.1非包月进门登记VI图4-20非包月进门登记VI4.4.5.2 简单写入数据库VI图4-21简单写入数据库VI 结合4.4.5.1的程序实际写入SQL语言命令为:insert into 表2 (车牌号,进入时间,收费) values(识别车牌号,进入时间,0)备注:除中文内容外其余字符必须在英文字符下输入,否则无法识别。4.4.6 车辆离开门禁 当检测出车辆要离开时,登记出门禁时间。4.4.6.1车辆离开门禁VI 图4-22车辆离开门禁VI4.4.6.2 出门写入数据库 VI图4-23出门写入数据库 VI结合4.4.5.1的程序实际写入SQL语言命令为:sql=update 数据表 set 字段名=字段值 where 条件表达式此处为:update 表2 set 离开时间=此时的系统时间 where 车牌号=识别车牌 and收费=0备注:除中文内容外其余字符必须在英文字符下输入,否则无法识别。 4.4.6.3 出门禁收费 VI图4-24出门禁收费 VI用于读取车辆进门、出门时间,设置费率,计算停车时间,并根据是否包月进行收费。内含“读取数据库新 VI”、“按分钟收费计算 VI”。 4.4.6.4 停车收费算法 VI图4-25 出门禁收费 VI此算法主要将同一车辆的进入时间和离开时间各自拆分成小时、分钟后相减。并乘以每分钟的费率,最后输出停车收费。备注:此程序仅适用于一天当中离开时间晚于进入时间的情况。4.4.6.5 停车收费写入数据库VI图4-26 车收费写入数据库 VI 此程序与前面有的的子程序某部分完全相同,将其编出来,完全是为了可读性。 第5章 测试结果与分析5.1 车牌识别普遍性测试图像采集方式:原始图像由手机直接拍摄汽车获得,上传并保存在电脑上,再进行测试使用。拍摄时与车辆的距离、角度、光线多元化,确保车牌识别算法的普遍性。采集地点:实训楼,体育馆,3教附近等学校各处停车。5.1.1 反复训练识别的图像的测试:1) 采集环境:阳光下。2) 样本容量:60张。3) 测试结果:识别率:59/60=98.3%。图5-1反复训练识别的图像的测评结果5.1.2 不训练直接识别图像测试:1) 采集环境:光线一般。2) 样本容量:90张。3) 测试结果:识别率:66/90=73.3%备注:没有列出正确的车牌,仅根据人工的与原图像对比。图5-2反复训练识别的图像的测评结果 5.1.3 全国其他省市车牌识别:1) 图像来源:网上下载2) 样本容量:33张3) 识别率:24/33=72.7%图5-3反复训练识别的图像的测评结果图5-4 网上下载的全国各地车牌5.2 车牌识别算法测试结果分析:5.2.1车牌定位效果分析对于共计183张测评样本图像,成功定位约165张,初步验证本设计的车牌区域定位算法较为成功,但也暴露出很多问题。最突出的问题在于:如果汽车的颜色或采集图像的背景颜色与车牌区域颜色相近

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论