智能车牌识别视觉系统设计毕业论文
2021-11-06 20:23:51
摘 要
随着国内机动车数量和流量的增加,智能交通系统的研究变得极为重要。作为智能交通系统的一个关键研究方向,智能车牌识别系统已经应用到许多领域,为生活带来了便利。本文拟研究车牌识别系统的设计。由于车牌图像往往存在多方面的干扰信息因素,所以在处理过程中需要去除诸如噪声、边框等信息,目的是让最后的识别更精确。本文的主要研究内容包括以下几个方面:
- 搭建系统平台。系统以Visual Studio 2010为开发环境,采用计算机视觉框架OpenCV进行开发,采用C 语言,建立MFC对话框,在windows 10系统平台上实现。车牌图像由笔记本摄像头获取,结果在MFC对话框界面系统中显示。
- 拟定程序代码:利用C 编程结合OpenCV库,对车牌定位、倾斜校正、字符分割、字符识别这些步骤分别给出对应的算法代码。
- 选定处理方法:对车牌识别的主要过程分别采用合适的方法得到最终的识别车牌。车牌定位采取基于数学形态学的定位方法,倾斜校正采用Hough变换并配合仿射变换的方法,字符分割采用垂直投影法,字符识别根据实际情况选择模板匹配方法。
本文设计基于OpenCV的车牌识别系统,搭建相应的平台,制定详细的研究实验方案,完成系统的研究。本文采用数字图像处理的原理和技术,利用Visual Studio 2010的C 编程配合OpenCV计算机视觉库,在MFC应用程序下给出相应的算法进行车牌定位、倾斜校正、字符分割和识别的研究。
关键词:车牌识别系统;图像识别;倾斜校正;字符分割;字符识别;MFC应用程序
Abstract
With the increase in the number and flow of vehicles in China, the study of Intelligent Traffic System has become extremely vital. As a key research direction of Intelligent Traffic System, Intelligent License Plate Recognition System has been applied to many fields, bringing convenience to life. This article intends to study the design of license plate recognition system. Since the license plate image often has various distractive information factors, in order to make the final recognition more accurate, it is necessary to remove information such as noise and borders in the process. The major content of this article includes the following aspects:
- Build a system platform. The system is built in the development environment of Visual Studio 2010, developed using the OpenCV computer vision framework, using C as the programming language. The system builds one MFC dialog box, which is implemented on the Windows 10 system platform. The license plate images are acquired by the notebook camera, and the results are displayed in the MFC dialog interface system.
- Formulate program codes. C programming combined with OpenCV will be used, and the corresponding algorithm codes are given for the steps of license plate location, tilt correction, character segmentation and character recognition.
- Select processing methods. I will choose appropriate methods for the main processes of the license plate recognition to obtain the final recognized license plate. License plate location can be performed based on mathematical morphology, tilt correction will use Hough Transform together with affine transformation method, character segmentation can adopt vertical projection method, character recognition will choose template matching method according to actual situation.
This article designs a license plate recognition system due to OpenCV, building a corresponding platform, formulating detailed research and experiment programs to complete the research of the system. The article uses the theory and technology of digital image processing, it uses C programming in the Visual Studio 2010 and OpenCV computer vision library, the corresponding algorithm is given under the MFC application program to conduct the study of the license plate lcation, tilt correction, character segmentation and recognition.
Key words: license plate recognition system; image recognition; tilt correction; character segmentation; character recognition; MFC application
目录
摘要 I
Abstract II
第1章 绪论 1
1.1 研究背景和意义 1
1.2 研究现状 1
1.2.1 国外研究现状 1
1.2.2 国内研究现状 2
1.3 本文的组织结构 4
第2章 车牌识别系统的搭建 5
2.1 系统开发环境 5
2.1.1 Visual Studio 2010 5
2.1.2 MFC 5
2.1.3 OpenCV 5
2.2 系统整体框架 5
2.2.1 硬件系统 5
2.2.2 软件系统 6
第3章 车牌定位和倾斜校正方法研究 8
3.1 车牌图像预处理 8
3.1.1 灰度化 8
3.1.2 滤波降噪 8
3.1.3 Canny边缘检测 9
3.1.4 数学形态学处理 10
3.2 车牌定位 10
3.2.1 车牌特征 10
3.2.2 常用的定位方法 11
3.2.3 本文的定位方法 12
3.3 车牌倾斜校正 17
3.3.1 常用的倾斜校正方法 18
3.3.2 本文的倾斜校正方法 19
3.4 本章小结 21
第4章 车牌字符分割和字符识别方法的研究 22
4.1 字符分割 22
4.1.1 常用的字符分割方法 22
4.1.2 本文的字符分割方法 22
4.2 字符识别 24
4.2.1 常用的字符识别方法 24
4.2.2 本文的字符识别方法 25
4.3 本章小结 26
第5章 系统功能的实现 27
5.1 功能实现过程 27
5.2 本章小结 30
第6章 总结与展望 31
6.1 内容总结 31
6.2 展望 31
参考文献 33
致谢 34
第1章 绪论
1.1 研究背景和意义
近年来,机动车作为生活中的一种重要交通工具,已经和人们的日常出行密不可分。而机动车的规模和流量的大幅增加,交通事故,违章违停等问题频发,让管理车辆变得困难。针对这样的情形,智能交通系统的实现就变得尤其关键。智能交通系统融合先进的计算机技术、信息技术等到车辆制造、交通运输和服务管控等领域,对车辆的综合管控变得实时、高效。我国智能交通系统虽然起步较晚,但随着国家的重视以及迫切的实际需要,未来将会有极大的发展空间和前景。它运用先进的科学技术能将人力从复杂的车辆管理中解放,且能极大提高精确度和速度,车牌识别系统也便是在这种背景下应运而生。
车牌识别系统是智能交通系统中的重要组成部分[1],是实现智能交通系统的核心技术。如今,车牌识别系统已经广泛应用于监控道路流量、监察交通违章、自动管理停车场等方面。车牌识别系统是对车牌进行系列化处理的系统,它利用摄像机获得原始的车辆图像,然后对此进行预处理、定位、倾斜校正、字符分割及字符识别操作。实现这一系统以数字图像处理技术和人工智能技术为基础。将车牌识别系统运用于生活中,能更好地协助机动车的信息化管理、处理违法违章车辆的车牌登记,并能实时高效地监控道路安全,因此车牌识别系统具有重要的研发目的和意义。
车牌识别系统要求能适应众多复杂的工作环境,当光照充足或者天气昏暗,甚至是暴雨等极端天气下都要能完成识别。同时,系统还要求能准确识别出有污染、磨损或者倾斜的车牌。目前世界上还未出现非常理想的车牌识别系统,各国的研究者都对提高车牌识别系统的性能进行持续和深入的研究。车牌识别系统的研究意义也在于研究出有高鲁棒性、良好的自适应性以及较好的应用广泛性的车牌识别技术来解决日益复杂的交通问题。
1.2 研究现状
机动车牌照能被车牌识别系统从复杂的背景中进行提取并识别输出。这个过程主要由四步骤组成:定位车牌、校正倾斜、分割字符和识别字符。然而在相机拍摄到车牌图像时,往往会由于天气、污损等因素的干扰导致实际拍摄的图像会出现噪声,致使图像的清晰度和对比度受到影响。因此在识别之前往往会进行预处理操作。
1.2.1 国外研究现状
在国外的一些研究中,由于国外车牌的多样性,各国的研究方法也不尽相同。Rung-Ching Chen等提出基于滑动窗口暗网-YOLO的车牌识别[2]。车牌和字符的检测由SWSCD-YOLO框架处理,用bbox标签工具为每个字符生成边界框,使用单类检测器模型处理边界框,通过滑动窗口检测目标。当检测到物体后开始定位,系统根据目标的置信度对位置和等级排序以确定最终的预测对象。该方法由于使用了集成模型,所以计算时间较长,同时虽然检测的准确率很高,但识别的精度仍有待提高。Manish Kumar Saini等在图像预处理时用高斯滤波器减少噪声[3],增强输入的图像。然后使用GHM多小波对增强图像进行分解,在16个子带中,利用H1L1子带在x轴投影GHM多小波分解的谱带,提取车牌的水平位置,图像倾斜矫正采用Radon变换和最近插值法。该方法可以适用许多国家及地区,且能在阴影,模糊等各种条件下以较短时间识别。Zied Selmi等提出了深入学习车牌检测与识别系统(DELP-DAR)[4]。在车牌检测,分割和识别阶段使用了MASK-RCNN,此方法在四个数据集上都体现出很好的鲁棒性和有效性,但在解决困难的场景,低分辨率或者遮挡时,方法仍受到某些限制。Parul Agarwal等实施ALPR自动车牌识别作为可持续检测交通违规的解决方案[5],对捕获的车牌图像进行处理,包括灰度化,形态学处理,卷积和细化,再将字符识别结果在数据库中查找相应车牌,得出车主详细信息,将警告信息自动发送。该方法可用于校园或办公场所的行车违规行为查询,通过自动发送信息加快处理进度,是可持续发展的一项重要应用。George Abou Kassm等使用CNN级联对黎巴嫩车牌进行检测[6],该系统在速度和准确率之间取得较好的平衡。Sahar S.Tabrizi等研究开发了KNN算法和多个支持向量机(SVM)模型来识别伊朗车牌[7]。波斯字母与数字字符的相似性是识别过程中需要解决的问题,基于KNN的SVM模型能有效解决。该方法对嘈杂环境有鲁棒性,KNN和SVM结合提高了识别的准确率,但识别的速度有所下降。