基于Tessearc车牌识别系统的研究与实现毕业论文
2021-06-07 23:15:31
摘 要
新世纪以来,我国对交通管理的要求越来越高,智能交通系统已经成为现代交通管理的一个重要发展方向。车牌识别系统是智能交通系统的一个重要组成部分,广泛的应用于高速公路收费站、交通疏导以及停车场管理等道路交通管理中,实现了道路交通管理的自动化和智能化。
本车牌识别系统主要由两部分组成,分别是车牌图像的预处理以及字符识别。论文合理运用了OpenCV实现图像处理功能,在程序算法的具体设计实现过程中,OpenCV的运用提高了程序的简洁性与可靠性。同时使用开源的Tesseract引擎识别车牌上的字符,为了提高中英混排的字符的识别正确率,利用其自带的字符库训练方法进行相关字符库训练。
经过实验检测,论文设计的车牌识别系统的车牌字符识别效果良好。
关键词:车牌识别;图像处理;字符识别
Abstract
Since the new century, Chinese requirement on traffic management becomes increasingly high, and intelligent transportation system has become an important development direction of modern traffic management. Being widely used in the road traffic control such as highway toll stations, traffic dredging and parking lot management, license plate recognition system plays a great role in the intelligent transportation system. It achieves the automation and intelligence of the road traffic management.
The license plate recognition system of this project mainly consists of two parts, namely the pre-treatment of license plate images and character recognition. OpenCV has been used reasonably in this project to realize the image processing functions, and its application in the specific design and implementation of the program algorithm improved the simplicity and reliability of the program. In the meantime, the open source Tesseract engine has been used to recognize the characters in the vehicle license plate. And to improve recognition accuracy of the Chinese and English mixed characters, its built-in character library training methods has also been used to do related character library training.
The experiment shows a good effect of character recognition of license plate recognition system in this project.
Key Words: vehicle license plate recognition;image processing;character recognition
目 录
第1章 绪论 1
1.1 我国道路交通现状 1
1.2 车牌识别技术 1
1.3 论文的章节介绍 2
第2章 系统分析 3
2.1 限定问题 3
2.2 可行性分析 3
2.2.1 经济可行性 3
2.2.2 技术可行性 3
2.2.3 组织可行性 3
2.3 需求分析 3
2.3.1 业务流程图 4
2.3.2 系统的基本要求 4
2.4 提出方案 4
第3章 车牌图像处理 5
3.1 车牌图像的灰度化 5
3.2 车牌图像的灰度拉伸 6
3.3 车牌图像的二值化 7
3.4 上下边框与铆钉的去除 8
3.4.1 车牌图像的Sobel水平方向检测 8
3.4.2 图像的水平积分投影 9
3.4.3 图像的水平裁剪 10
3.5 左右边框的去除 11
3.5.1 Sobel垂直边缘检测 11
3.5.2 垂直积分投影 11
3.5.3 垂直裁剪 12
3.6 本章小结 12
第4章 基于Tesseract的字符识别 13
4.1 Tesseract简介 13
4.2 字符库训练 13
4.2.1 合成tif文件 14
4.2.2 生成box文件 14
4.2.3 生成tr训练文件 15
4.2.4 生成unicharset数据文件 16
4.2.5 创建字体属性文件 16
4.2.6 生成中间文件 16
4.2.7 合成traineddate文件 16
4.3 Tesseract处理步骤 17
4.3.1 图片布局分析 17
4.3.2 字符分割和识别 17
4.4 字符识别 18
4.5 本章小结 18
第5章 系统测试 19
5.1 图像处理前后噪声数量的对比 19
5.1.1 未经处理的图像 19
5.1.2 二值化后的图像 19
5.1.3 水平裁剪后的图像 19
5.1.4 图像处理结束后的车牌图像 19
5.2 字符库训练前后识别率的对比 20
第6章 总结与展望 21
参考文献 22
致 谢 23
第1章 绪论
1.1 我国道路交通现状
经济发展,交通先行。进入新世纪以来,随着中国经济的飞速发展,交通的建设成为了我国的一大重要任务,中国的高速公路经历了从无到有的过程,乡村公路更是渐渐的覆盖了全国大部分区域。在经济与交通发展的双重刺激下,群众购车需求旺盛,我国汽车数量快速增长,2014年年底统计显示,我国机动车保有量达到2.64亿辆,其中汽车1.54亿辆;机动车驾驶人突破3亿人,其中汽车驾驶人超过2.46亿人。
机动车数量的增加带来了一系列的机动车管理问题,如:大城市频繁的交通堵塞、能源的快速消耗、环境污染加重等。为了解决这些问题,人们提出了智能交通系统(Intelligent Transport System,简称ITS),ITS是未来交通系统的一个重要发展方向,它是将先进的信息技术、数据通讯传输技术、电子传感技术、控制技术及计算机技术等有效地集成运用于整个地面交通管理系统而建立的一种在大范围内、全方位发挥作用的、实时、准确、高效的综合交通运输管理系统。
1.2 车牌识别技术
车牌识别技术(Vehicle License Plate Recognition,简称VLPR) 是ITS的重要组成部分。VLPR是计算机视频图像识别技术在车辆牌照识别中的一种应用,VLPR要求能够将运动中的汽车牌照从复杂背景中提取并识别出来,通过车牌提取、图像预处理、特征提取、车牌字符识别等技术,识别车辆牌号、颜色等信息。通过车牌识别系统提取出车牌字符,并且结合后续处理技术,使其能够应用于高速公路自动收费、停车场管理等方面。
车牌识别系统应用了光学字符识别(Optical Charaeter Recognition,简称OCR)技术。对OCR的研究始于上世纪早期,由德国科学家Tausheck首先提出并申请了专利,但这个研究也仅仅停留在理论层面上。随着电子计算机的诞生,才得以真正将OCR技术实现,此后这项技术得以快速的发展并逐渐发展到实际应用阶段。目前,对该技术的功能已经趋于完善,字符识别已发展的比较成熟,已有不少应用案例。国内来说,虽然该技术的研究从上世纪七十年代才兴起,但发展迅速,尤其是针对中文字符的识别技术达到或超过了世界领先水平。目前,国内车牌识别技术已经广泛的应用于高速公路车辆管理、停车场管理、不停车收费系统(ETC)中。最新的技术水平为字母和数字的识别率可达到99.7%,汉字的识别率可达到99%。
本课题研究的是基于Tesseract的车牌识别,其中的重点是如何提高车牌字符的识别率。论文将着重介绍两个提高字符识别率的方法:其一是运用图像处理技术对图像进行预处理,以去除噪声与干扰;另一个是基于Tesseract的车牌字符字符库训练,针对性的字符库更能胜任车牌字符的识别工作。本车牌识别系统的预期车牌字符识别率是90%。
1.3 论文的章节介绍
第1章介绍了我国现阶段的交通现状,指出了我国现阶段的交通问题,引出了车牌识别系统在交通管理上的重要性。
第2章进行了系统分析,确定了系统所需要实现的功能。
第3章详细介绍了图像处理的过程,其中包括图像的二值化、灰度化、Sobel边缘检测以及图像的投影与图像裁剪操作。
第4章则介绍了利用Tesseract进行的字符识别,其中详细介绍了车牌字符库的训练过程。
第5章是对第三章与第四章所实现功能的测试,通过实验检验前面两章的工作对车牌识别率的影响。
第6章是对本次毕业设计工作的总结,并提出本程序能够改进的功能。
第2章 系统分析
2.1 限定问题
本课题旨在基于开源引擎Tesseract进行车牌字符的识别。而在车牌照片的质量无法保证的情况下如何提高车牌字符识别率是本系统将要解决的主要问题。
2.2 可行性分析
可行性研究的目的是确定问题能否解决,通过对相似系统的参考,以及实际情况的考察,需要从下面三个方面考虑系统的可行性。
2.2.1 经济可行性
本课题需要实现一个小型的车牌识别系统,其中需要调用Tesseract是开源的引擎。因此,在人力、物力、财力上是完全可行的。
2.2.2 技术可行性
由于车牌识别系统这一类的智能系统进行开发已有一定的时期,有很多的成功实例,技术基础也比较雄厚。
本系统选择在Windows7平台下的VS2010进行编码工作,VS2010中的MFC封装了大部分的windows API函数,能够方便的进行界面设计。图像处理中调用的OpenCV包含了大量的图像处理与计算机视觉的算法,OpenCV用C 语言编写,它的主要接口也是C 语言,但是依然保留了大量的C语言接口,能方便的调用它的函数来进行图像处理工作。Tesseract是一款经典的开源字符识别引擎,其自带的字符库训练的能够很好的提高字符识别效率,因此技术方面也是可行地。
2.2.3 组织可行性
在毕业开始阶段我们迅速成立了毕业设计小组,从一开始便确定了合理的工作实施进度计划。在项目经验丰富的老师们的引导下,成员们能顺利的进行毕业设计工作,彼此之间也建立了良好的协作关系。并且每周会开会汇报本周总结与下周的计划,保证了项目顺利执行。
2.3 需求分析
需求分析是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”,要达到什么样的效果,需求分析是做系统之前必做的。
2.3.1 业务流程图
业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向,它是物理模型。
下图描述的是本系统对车牌图像的处理流程。
图2.1 业务流程图
2.3.2 系统的基本要求
- 整体结构合理,风格一致,模块化结构,界面清晰,接口灵活,操作简便。
- 基本操作需要有载入图片、灰度化、二值化、水平裁剪、垂直裁剪、字符识别。
- 尽量使用简单的算法来减少所需要的识别时间。
- 对图像的噪声具有较强的适应性。
- 字符的识别率达到90%以上。
2.4 提出方案
- 系统选择使用MFC进行界面的设计,使用MFC设计出清晰简洁的界面。
- 图像处理的大部分函数通过调用OpenCV而来,能够有效的处理图像噪声,提高系统运行速度与系统的稳定性。
- 开源引擎Tesseract自带的字符库训练能够有效的提高字符的识别率。
第3章 车牌图像处理
本章主要介绍字符识别前的图像处理,车牌图像处理主要是为了改善图像的数据特征,消除噪声的干扰。该过程主要包含:图像灰度化、图像二值化、图像的裁剪等。
图像处理过程中调用了OpenCV,它是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。