毕业设计(论文):基于Opencv的车牌识别工具研究与实现文档格式.docx
《毕业设计(论文):基于Opencv的车牌识别工具研究与实现文档格式.docx》由会员分享,可在线阅读,更多相关《毕业设计(论文):基于Opencv的车牌识别工具研究与实现文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
车牌识别
ABSTRACT
Inrecentyears,withthefullofimplementationintelligenttransportsystems,automaticlicenseplaterecognition(LicensePlateRecognition,LPR)technologyiswidelyapplied.LicensePlateRecognitionasthecurrentintegralpartofintelligenttransportationsystemshasbeenwidelyappliedtovariousfields.
Thispaperstudiestheautomaticlicenseplaterecognitiontechnology,bystudyingthecharacteristicsofexistingdomesticlicensetousetherelevantrecognitionalgorithm,usingVC++andOpenCV(computervisionlibrary)andotheropensourcelibrary,developedalicenseplaterecognitiontools.Thetoolcanbeusedondigitalimageprocessing,patternrecognition,computervisionanalysisofimageprocessing,positioning,segmentation,enablinglicenseplaterecognition,licenseplatenumbertoobtainaccurate.
Thisarticleusesthehorizontalsplit,verticalsplit,andthelicenseplatesizenormalizationaftertheimagepreprocessingtechniquestolocate,whileusingOpenCVlibraryedgedetectionmethodwillhavegoodpositioningregionsegmentation,preservation,hasbeentheuseofimagesegmentationSavecharactercutalgorithmforcutting,thecharacterwilleventuallycutintoindividualcharacterimages,usingexistingcharactertemplatefeaturevaluesmatch,therealizationcharacterrecognitionfunction.
Finally,onthelicenseplaterecognitiontoolshavebeencompletedexperimentalresultsshowthatthetoolcanbequicklyandaccuratelyidentifythelicenseplatenumber.
Keywords:
OpenCV;
licenseplatelocation;
licenseplaterecognition
目 录
第1章 绪论 1
1.1课题背景及研究意义 1
1.2国内外的研究现状 1
1.3本文主要研究内容 1
1.4本章小结 2
第2章 相关技术简介 3
2.1OPENCV计算机视觉函数库 3
2.2车牌图像及字符的先验知识 4
2.3车牌自动识别技术 5
2.4本章小结 7
第3章 车牌识别软件的总体设计 8
3.1需求概述 8
3.2软件总体结构设计 8
3.3车牌识别的工作流程 9
3.4本章小结 9
第4章 车牌识别技术实现 10
4.1车牌图像预处理技术 10
4.2车牌图像分割及识别技术 13
4.3本章小结 17
第5章 系统实现及测试 18
5.1系统界面 18
5.2系统测试 18
5.3本章小结 19
结束语 20
致 谢 21
参考文献 22
三江学院2014届本科生毕业设计(论文)
第1章 绪论
1.1课题背景及研究意义
随着我国经济的快速发展,汽车数量也逐年大幅度增长,公路交通基础设施在我国起到决定性的作用。
目前,人们利用各种科技手段,来提高智能交通管理效率和交通安全。
在智能交通领域中,能够对车辆进行统一的智能管理是智能交通发展的方向,针对车辆的管理主要在于对车牌号的识别,因为车牌是一辆汽车的准确标识。
目前主要通过计算机视觉识别方法和模式识别对车牌进行定位和识别。
车牌识别也应用在日常管理方面,可如:
检测交通流量、高速公路收费、停车场收费等。
所以,无论从经济、理论、价值等方面,还是从实现智能交通系统的技术方面,都首先需要进行深入研究车牌识别。
1.2国内外的研究现状
相对而言车牌识别研究较早的国外,已经有很多可以借鉴的成果,并且部分应用已经成熟。
由于我国车牌色彩的多样、种类繁多,国外的车牌识别系统并不适合我国实际情况。
近年来,全国有很多高校和科研院所都在这方面进行研究,如上海交通大学,西安交通大学,同济大学,浙江大学等,对其技术进行不断革新,以适应不同场合。
(1)美国和欧洲等发达国家在上个世纪80年代后期及90年代初期,相继开展了车牌识别系统的应用研究工作。
EunRyungLee[1]等根据图像中不同的颜色信息,对车牌进行定位。
R.Parisi[2]等利用DSP和神经网络技术来提高识别效果。
(2)1998年北京汉王科技公司研制的嵌入式、一体化的车牌识别技术产品
——“汉王眼”[3]是一个较为实用化的产品,它采用DSP芯片作为识别算法运行的硬件平台,在不需要外力支持情况下就能完成闪光照明、采集图像、识别车牌等功能。
(3)中国香港AsiaVisionTechnology公司在2001年开发了VECON车牌识别产品,1992年新加坡Optasia公司已经开发的VLPRS产品[4]等,都是相对成熟的产品应用于实际生活中。
随着图像处理和模式识别技术的不断成熟,课题的研究不断的引入了许多新的方法。
目前国际上,在实际生活中已经应用的车牌识别技术在识别率方面有了很大进步,识别速度相对上世纪末较快。
但由于外界环境光线变化、光路中有灰尘、季节环境变化及车牌本身被污染而模糊等条件的影响,使得车牌识别技术得不到很好的应用,相信这些问题将通过不断的努力来解决。
1.3本文主要研究内容
在本文中,利用图像处理技术识别车牌图像,通过预处理捕获图像,车牌定位,字符分割,识别的研究方法,并且使用VC++(计算机编程语言)和
OpenCV(国际开放的计算机视觉库)实现一个车牌识别基础工具。
与车牌识别相关的图像处理技术,包括:
(1)图像预处理:
收集到的车牌图像进行初步处理,以提高识别率。
(2)车牌定位:
根据预处理图像的特征采取某些算法,来识别车牌区域。
(3)字符分割:
对被划分好的固定区域,将其中切分出来的字符图像,保存为单个的字符图片。
(4)字符识别:
通过模板匹配算法,对每个字符图像的字符识别。
1.4本章小结
首先阐述本文研究背景,表明了课题的意旨,同时就目前国内外汽车牌照识别进行介绍。
最后,通过对汽车牌照识别工具的实现过程入手介绍了研究内容。
22
第2章 相关技术简介
本章重点介绍了与车牌识别相关的具体技术,以及使用VC++中MFC图像库和OpenCV计算机视觉库来处理图像等技术。
2.1OPENCV计算机视觉函数库
2.1.1OpenCV简介
OpenCV(OpenSourceComputerVisionLibrary),是开源跨平台的计算机视觉库,由Intel公司在1999年建立,目前由Willow Garage提供技术支持[5]。
OpenCV是一种由一系列C、C++函数组成的轻量级、高效的视觉处理算法和代码仓库,提供了多种语言移植方式,包括:
Python、Ruby、Matlab等。
OpenCV拥有包括500多个C函数的跨平台的中、高层API。
它不依赖于其它的外部库——尽管也可以使用某些外部库。
OpenCV为Intel IntegratedPerformance Primitives(IPP)提供了透明接口。
这意味着如果有为特定处理器优化的IPP库,OpenCV将在运行时自动加载这些库。
其作为开放的数字图像处理和计算机视觉软件平台,具备许多的鲜明特征[6],其主要使用C/C++语言源代码计算机视觉库,其目的是开发实时的应用程序。
对于计算机硬件,图像管理和操作系统,OpenCV也是完全独立的。
同时在图像/视频载入,访问和保存模块也很常见。
OpenCV中还具有顶部和底部的应用程序包,用户可以直接使用。
2.1.2OpenCV结构
OpenCV主要由六个模块构成[7],包括:
Cv、CvAux、CvCAM、HighGui、ML和CvCore,其中主要模块为四个,分别为:
CV(图像处理和视觉算法)、CvCore(基本数据结构与核心功能)、HighGUI(图像视频输入输出)、ML(统计分类器),如图2-1所示。
CvCore
基本结构和算法、XML支持、绘图函数
HighGUI图像视频输入输出
ML
统计分类器
CV
图像处理和视觉算法
图2-1OpenCV结构图
其中:
(1)Cv,图像处理和视觉算法模块,是OpenCV库中的最核心的模块,包含了图像处理非常多的算法和功能,这些算法和功能覆盖了包括图像处理、模式别等,主要用于图像处理和视觉算法。
(2)CvCore,基本数据结构模块,是其他模块的基础,也是整个库之中最基本的模块,它里面定义了整个库中的几乎所有的函数用到的数据类型和结构,其中还实现了一些基本算法和数据的基本运算。
(3)HighGUI,图像视频输入输出模块,该库是整个