车牌的定位与字符分割报告.
车牌定位与字元切割
國立勤益科技大學 National Chin-Yi University of Technology車牌定位與字元切割組 員:林鑫宏指導老師:劉正忠 教授報告日期:民國99年1月25日目錄一、 前言.....................錯誤! 尚未定義書籤。
二、 車牌定位..................錯誤! 尚未定義書籤。
2-1 定位流程圖.............錯誤! 尚未定義書籤。
2-2 灰階處理...............錯誤! 尚未定義書籤。
2-3 Sobel邊緣偵測..........錯誤! 尚未定義書籤。
2-4 過濾較低梯度與.........錯誤! 尚未定義書籤。
2-5 二值化.................錯誤! 尚未定義書籤。
2-6 車牌定位...............錯誤! 尚未定義書籤。
三、 字元切割..................錯誤! 尚未定義書籤。
3-1 字元切割流程圖.........錯誤! 尚未定義書籤。
3-2 前處理.................錯誤! 尚未定義書籤。
3-2-1灰階化.............錯誤! 尚未定義書籤。
3-2-2二值化.............錯誤! 尚未定義書籤。
3-2-3旋轉校正...........錯誤! 尚未定義書籤。
3-2-4邊緣變換判斷.......錯誤! 尚未定義書籤。
3-2-5車牌縮邊...........錯誤! 尚未定義書籤。
3-3 投影法.................錯誤! 尚未定義書籤。
3-4 水平投影...............錯誤! 尚未定義書籤。
3-5 水平切割...............錯誤! 尚未定義書籤。
3-6 垂直投影...............錯誤! 尚未定義書籤。
3-7垂直切割...............錯誤! 尚未定義書籤。
四、 實驗成果..................錯誤! 尚未定義書籤。
车牌识别实验报告
车牌识别实验报告车牌识别实验报告一、引言车牌识别技术是近年来快速发展的一项重要技术,它在交通管理、安全监控等领域具有广泛的应用前景。
本文将介绍一次车牌识别实验的过程和结果,以及对该技术的评估和展望。
二、实验目的本次实验的目的是通过使用计算机视觉技术,实现对车辆车牌的自动识别。
通过该实验,我们希望验证车牌识别技术的准确性和可行性,并评估其在实际应用中的效果。
三、实验方法1. 数据收集我们采集了一组包含不同类型和风格的车牌图像数据,包括普通车辆、摩托车和电动车等。
这些数据来源于不同的场景,包括白天、夜晚和恶劣天气等条件下的拍摄。
2. 图像预处理为了提高车牌识别的准确性,我们对采集到的图像进行了预处理。
首先,我们使用图像处理算法对图像进行了去噪处理,去除了图像中的干扰信息。
然后,我们对图像进行了灰度化处理,将彩色图像转化为灰度图像,以便后续的处理。
3. 特征提取在进行车牌识别之前,我们需要从图像中提取出车牌的特征。
我们使用了一种基于边缘检测的方法,通过检测图像中的边缘来提取车牌的轮廓。
然后,我们根据车牌的形状和大小,进一步筛选出可能的车牌区域。
4. 字符分割在车牌识别中,字符分割是非常关键的一步。
我们使用了一种基于连通区域的方法,将车牌图像中的字符分割出来。
通过分析字符之间的间隔和相对位置,我们可以更准确地识别出每个字符。
5. 字符识别最后一步是对分割出的字符进行识别。
我们使用了一种基于深度学习的方法,训练了一个字符识别模型。
通过将字符图像输入到模型中,我们可以得到对应的字符标签,从而实现对车牌的识别。
四、实验结果经过实验,我们得到了一组车牌识别的结果。
在测试数据集上,我们的识别准确率达到了90%以上。
尤其是在白天和晴朗天气下,识别效果更加出色。
然而,在夜晚和雨天等恶劣条件下,识别准确率有所下降。
五、实验评估尽管我们的车牌识别系统取得了较好的结果,但仍存在一些问题和改进空间。
首先,恶劣天气条件下的识别准确率较低,需要进一步优化算法来提高鲁棒性。
车牌的定位与字符分割报告
车牌的定位与分割实验报告一实验目的针对交通智能系统所拍摄的汽车图片,利用设定的算法流程,完成对汽车车牌部分的定位,分割车牌部分,并完成字符的分割,以便于系统的后续分析及处理。
二实验原理详见《车牌的定位与字符分割》论文。
三概述1一般流程车牌自动识别技术大体可分为四个步骤:图像预处理、车牌定位与分割、车牌字符的分割和车牌字符识别。
而这四个步骤又可归结为两大部分:车牌分割和车牌字符识别。
图1-1为车牌自动识别技术的一般流程图。
2本实验的流程(1)图像预处理:图像去噪(2)车牌的定位:垂直边缘检测(多次)形态学处理的粗定位合并邻近区域结合车牌先验知识的精确定位(3)车牌预处理:车牌直方图均衡化倾斜校正判定(蓝底白字或者黄底黑字)归一化、二值化(4)字符的分割:垂直投影取分割阈值确定各个字符的左右界限(结合字符宽度、间隔等先验知识)分割字符四实验过程4.1图像预处理4.1.1图像去噪一般的去噪方法有:空间域上的均值滤波和中值滤波;频率域上的巴特沃斯滤波器。
图4-1是各滤波器处理椒盐噪声的效果。
a.被椒盐噪声污染的图片 b.均值滤波的效果图 c.中值滤波的效果图 d.BLPF的效果图图4-1 各滤波器处理椒盐噪声的仿真可见,中值滤波对椒盐噪声的处理效果极好,而一般所拍摄的图片上最多的便是孤立的污点,所以此处以中值滤波为主进行去噪。
图4-2是采用中值滤波处理实际汽车图片的效果。
a.原始图像b.灰度图像c.中值滤波后的图像图4-2 中值滤波处理实际汽车图片的效果很显然,经过中值滤波后去除了原图上的部分污点。
4.1.2图像复原由于通常情况下都不知道点扩展函数,所以我们采用基于盲解卷积的图像复原策略。
图4-3~4-7图是函数进行盲解卷积的实验结果,其中图4-3是图像cameraman 的模糊图像。
图4-3 模糊图像在盲解卷积处理中,选择适当大小的矩阵对恢复图像的效果很重要。
PSF的大小比PSF的值更重要,所以首先指定一个有代表性的全1矩阵作为初始PSF。
车牌识别测试报告
车牌识别测试报告1. 背景介绍车牌识别技术是一种通过计算机视觉技术对车辆的车牌进行自动识别的技术。
它广泛应用于交通管理、停车场管理、安防监控等领域。
本文将对车牌识别系统进行测试,并给出详细的测试报告。
2. 测试环境车牌识别系统的测试环境如下: - 操作系统:Windows 10 - 开发工具:Python 3.7 - 相机设备:USB摄像头3. 测试步骤步骤一:安装依赖库车牌识别系统的运行需要依赖一些Python库,如OpenCV、Numpy等。
在测试前,首先需要确保这些库已经正确安装。
步骤二:获取测试样本为了测试车牌识别系统的准确性和鲁棒性,我们从不同场景中收集了一些包含车牌的图片作为测试样本。
这些样本包括不同角度、不同光照条件下的车牌图片。
步骤三:预处理图片在进行车牌识别前,需要对测试样本进行一些预处理操作,以增加识别的准确性。
预处理步骤包括图像去噪、图像增强等。
步骤四:车牌定位车牌定位是车牌识别的第一步,在该步骤中,系统需要识别出图像中的车牌位置。
我们使用基于边缘检测和形态学运算的方法进行车牌定位。
步骤五:字符分割在车牌定位的基础上,需要对车牌进行字符分割,将车牌中的字符分离出来。
字符分割算法通常包括基于投影法、基于连通性等方法。
步骤六:字符识别在字符分割后,将得到单个字符的图像,然后使用字符识别算法对这些字符进行识别。
字符识别算法可以采用传统的机器学习方法,也可以使用深度学习方法。
步骤七:识别结果验证通过对测试样本的处理和识别,得到了识别结果。
为了验证系统的准确性,我们将人工判断识别结果与实际车牌进行比对。
4. 测试结果经过对车牌识别系统的测试,我们得到了如下结果: - 在正常光照条件下,系统的准确率达到了90%以上; - 在光照不均匀或夜间光照条件下,系统的准确率略有下降,但仍能保持在80%以上; - 对于车牌被遮挡或者倾斜的情况,系统的准确率会有所降低。
5. 总结与改进车牌识别系统在本次测试中表现出了较高的准确性和鲁棒性。
汽车牌照定位与字符分割的研究及实现
1.2.1 车牌定位技术研究现状及发展趋势
车牌定位技术是 LPR 系统研究的重点和难点。采集车辆图像过程中一般都有
1
汽车牌照定位与字符分割的研究及实现
各种背景干扰,能够正确分割字符的前提是从图像中准确地分割出牌照区域,这 也是 LPR 系统能否在实际中应用的基础。 目前的车牌定位算法中,主要是分析车牌所共有的部分特征,根据这些特征 来确定车牌区域的位置。车牌几何形状特征及相应的分析方法主要有[2-8]: (1)灰度变化特征:水平/垂直扫描时,牌照区域的像素灰度值按照一定的规 律进行波动;(2)颜色特征:原始车牌区域内部颜色和外部颜色差异的特征;(3) 投影特征:对车辆图像的水平/垂直扫描后其投影直方图中,牌照所对应的区域具 有一定规律的峰谷分布;(4)边缘特征:牌照区域有许多的边缘信息,使用相应的 算子将边缘信息提取出后,再通过边缘投影直方图来确定边缘的信息;(5)几何特 征:主要有车牌的长度、宽度以及长宽比例在一定的范围之内,或者可以通过牌照 的面积在一定的范围之内。利用以上这些特征均可以确定车牌的位置。 目前,车辆牌照的定位方法有基于彩色图像牌照区域字符和背景的颜色差异 特征进行定位,也有基于灰度图像牌照区域字符几何纹理特征进行定位,还有其 它结合了牌照区的颜色差异和字符纹理两种特征的方法定位,另外还有的是基于 数学形态学、神经网络、遗传算法、灰度聚类等牌照定位方法[9]。
作者签名: 导师签名:
日期: 日期:
年 年
月 月
日 日
中南民族大学硕士学位论文
第1章
1.1 问题的提出
绪论
车牌识别技术(License Plate Recognition, LPR )是智能交通管理系统的 重要组成部分,主要用于识别车牌号码。 LPR 技术在实际生活中主要应用于高速 公路实现无人收费功能、道路行车的流量监控、交通违规车辆的监控等。特别是 在各种场合实现无人收费功能的系统中,为了提高车辆的运行效率, LPR 技术将 代替人工的管理方式实现无人自动管理的功能, 因此,对 LPR 技术的研究和系统的 开发具有重要的现实意义和和实用价值。 车牌定位、字符分割、字符识别是 LPR 系统的三大关键技术。同时也是车牌 本身的几何形状特征与图像处理技术[1]的很好结合,车牌定位与字符分割在 LPR 系统中用到的数学知识主要有数学形态学、神经网络、小波分析等。对车牌定位 与字符分割的研究主要包括:图像预处理、车牌定位、车牌倾斜校正、车牌字符 分割及字符分割结果输出等。如图 1.1 所示为系统的流程框图:
车牌识别系统中车牌定位与字符分割的研究
车牌识别系统中车牌定位与字符分割的研究一、本文概述随着科技的发展和智能交通系统的普及,车牌识别系统已经成为了现代交通管理的重要组成部分。
车牌识别系统的核心在于准确、快速地实现车牌的定位与字符分割。
本文旨在深入探讨车牌识别系统中车牌定位与字符分割的关键技术,并分析其在实际应用中的挑战与解决方案。
本文将对车牌识别系统的基本框架进行概述,介绍车牌定位与字符分割在其中的地位和作用。
接着,本文将详细阐述车牌定位技术的发展历程和现状,包括基于颜色、纹理、形状等特征的定位方法,以及近年来兴起的深度学习技术在车牌定位中的应用。
同时,本文还将对字符分割技术的研究现状进行梳理,包括基于投影分析、边缘检测、形态学处理等方法的字符分割算法。
在此基础上,本文将重点分析车牌定位与字符分割在实际应用中面临的挑战,如复杂背景下的车牌定位不准确、字符粘连或断裂导致的分割失败等问题。
针对这些问题,本文将提出相应的解决方案,如通过改进算法提高定位精度、采用多特征融合的方法提高字符分割的鲁棒性等。
本文将通过实验验证所提方法的有效性,并对实验结果进行分析和讨论。
本文还将展望车牌识别系统的未来发展趋势,探讨新技术在车牌定位与字符分割中的应用前景。
通过本文的研究,旨在为车牌识别系统的优化和改进提供有益的参考和借鉴。
二、车牌定位技术研究车牌定位技术是车牌识别系统的关键环节,它涉及从复杂的背景中准确提取出车牌区域。
随着计算机视觉和图像处理技术的不断发展,车牌定位技术也取得了显著的进步。
早期的车牌定位主要基于车牌的颜色和边缘特征。
由于中国车牌通常为蓝底白字,因此可以通过颜色过滤来初步提取出可能的车牌区域。
随后,利用边缘检测算法(如Canny边缘检测)来进一步细化车牌的轮廓,从而实现车牌的粗定位。
然而,这种方法受光照条件、车牌污损等因素影响较大,定位准确性有待提高。
为了克服颜色和边缘特征方法的局限性,研究人员开始尝试基于纹理和形状特征的车牌定位方法。
车牌识别技术实验报告
车牌识别技术实验报告引言车牌识别技术是一种基于计算机视觉和模式识别的技术,旨在从车辆图像中自动识别并提取出车牌信息。
随着交通管理的不断升级和智能化的要求,车牌识别技术逐渐得到广泛应用。
本实验旨在探究车牌识别技术的原理和实现方法,并通过实验验证其识别准确率和稳定性。
实验目的1. 了解车牌识别技术的基本原理;2. 学习车牌识别技术的常见实现方法;3. 掌握车牌识别系统的搭建和调试方法;4. 通过实验验证车牌识别技术的准确率和稳定性。
实验过程1. 数据集准备首先,我们需要准备具有不同车牌种类和样式的数据集作为实验数据。
根据实际应用场景,可以从公开数据集、网络爬取和现场采集等渠道获取。
2. 车牌定位车牌定位是车牌识别的第一步,它的目的是在整个车辆图像中提取出车牌区域。
常用的车牌定位方法包括边缘检测、颜色识别和特征匹配等。
3. 字符分割字符分割是车牌识别的第二步,它的目的是将车牌区域中的字符分割开来,以便后续识别。
常用的字符分割方法包括基于间隔的分割方法和基于统计特征的分割方法。
4. 字符识别字符识别是车牌识别的最关键步骤,它的目的是将分割开的字符识别出来。
常用的字符识别方法包括基于模板匹配的方法和基于机器学习的方法。
5. 实验验证通过将实现的车牌识别系统应用于真实场景的车辆图像,对识别结果进行准确率和稳定性的测试和评估。
可以使用准确率和召回率等指标来评估识别效果。
实验结果经过以上实验步骤,我们成功搭建了一个车牌识别系统,并进行了实验验证。
在实验过程中,我们从数据集中随机选择了100张车辆图像进行识别测试。
实验结果显示,车牌识别系统在准确率和稳定性方面表现出色,准确率达到95%,并能在不同光照和角度下稳定识别。
实验总结通过本次实验,我们深入了解了车牌识别技术的原理和实现方法。
我们学习了车牌定位、字符分割和字符识别等关键步骤,并成功搭建了一个车牌识别系统。
实验结果表明,该系统具有较高的准确率和稳定性,在实际应用中具有很大的潜力。
车牌字符定位与分割
参考文献
古利超,车辆图像中的车牌定位及字符分割算法研究,重庆大 学,仪器科学与技术,2012,硕士 甘玲,林小晶,基于连通域提取的车牌字符分割算法,计算机 仿真 顾弘,赵光宙,齐冬莲,孙赟,张建良,车牌识别中先验知识 的嵌入及字符分割方法,中国图象图形学报 黄蒙蒙,多尺度低质量车牌字符分割的研究与实现,东华大学, 计算机软件与理论,2013,硕士 马永慧,车牌识别系统中车牌定位与字符分割的研究,中北大 学,计算机应用技术,2013,硕士
谢谢!
欢迎指正!
设计提交内容
设计报告:格式请参阅附件
软件代码:Matlab软件环境,M文件代码
测试结果:基于提供的测试图片集进行测 试
设计原理
输入图像 颜色特征 纹理特征 车牌定位 字符分割
区域直方图
字符输出
车牌结构特 征
…
基本结果1
车牌定位后截取图
原图
字符分割输出结果
基本结果2
车牌定位后截取图
车牌字符定位与分割系统算法 设计与实现
通信工程系 电子科技大学 通信学院
设计目的
1. 了解图像的基本描述
2. 掌握几种图像特征提取算法
3. 完成相关算法的设计与实现
4. 练习在现有框架上,修改算法,增强算法 对各种环境的适应性
5. 阅读相关文献,熟悉科研过程
设计任务及安排
理论课:2学时,掌握图像描述基本原理 设计过程:30学时 根据任务要求,查阅相关文献,提出系统 的详细设计方案 设计系统软件,给出详细算法设计及代码 收集测试数据,对算法进行可靠性测试, 完善算法设计并改进设计代码 完成设计报告
原图
字符分割输出结果
基本结果3
车牌定位与分割方法研究cici
《数字图像处理》研究报告——车牌定位与分割方法研究(2008/2009学年第二学期)车牌定位与分割方法研究1、前言随着公路逐渐普及,我国的公路交通事业发展迅速,所以人工管理方式已经不能满着实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。
汽车牌照的自动识别技术已经得到了广泛应用。
汽车牌照自动识别整个处理过程分为预处理、边缘提取、车牌定位、字符分割、字符识别五大模块,其中字符识别过程主要由以下3个部分组成:①正确地分割文字图像区域;②正确的分离单个文字;③正确识别单个字符。
用MATLAB软件编程来实现每一个部分,最后识别出汽车牌照。
在研究的同时对其中出现的问题进行了具体分析,处理。
作为现代社会的主要交通工具之一的汽车, 在人们的生产、生活的各个领域得大量使用, 为快速、高效地进行车辆的管理和监控,实现交通管理的自动化、智能化,车牌识别技术在智能交通系统中成为核心技术之一,而图像处理技术能将输入的车辆图像通过处理和识别,转换为车牌号的字符串形式,为车牌识别的后续计算机处理奠定了基础,在其中起着关键性的作用。
数字图像处理已经成为一门独立的新学科,并有着广泛的应用,正在空间、时间和功能上的扩展人类视觉。
2、图像预处理先对视频采集的车牌图像进行必要的预处理,有助于进一步的识别。
图像预处理包括:图像的复原和图像的变换等。
2.1 图像的复原在一些场合输入的图像很有可能是模糊不清的, 也就是说存在噪声的影响,通常存在影响的因素是多方面的,如光线和天气条件的变化、角度不合适、同类型的车牌字符和车牌背景的细微差别等都有可能使图像模糊不清。
因此要对图像进行复原。
在不同的环境下对具体的图像的复原方法也不同, 例如由于均匀直线运动而引起的复原,几何畸变复原等等。
2.2 图像的变换原始图像的数据一般比较大,对其进行处理的时间一般也较长,而由于实时性的要求,车牌的提取需要一次处理性就能把绝大多数特征提取出来,而尽可能的不要利用后面的结果来调整这一步的工作。
车牌字符分割及识别算法研究的开题报告
车牌字符分割及识别算法研究的开题报告一、选题背景与意义随着车辆数量的增多,交通管理越来越复杂,车牌识别技术已成为现代交通管理中不可或缺的手段。
目前,车牌识别技术已广泛应用于智能交通系统、停车场管理等领域,尤其在车辆安全检测和追踪、交通违法行为的识别等方面具有非常重要的应用价值。
车牌识别技术的关键就是字符分割和识别,因此本课题将重点研究车牌字符分割及识别算法。
通过对车牌进行有效的字符分割,能够准确快速地识别车辆信息,提高交通管理效率,确保道路畅通,维护公共安全。
二、研究内容及思路1. 车牌字符分割算法研究车牌字符分割是车牌识别的重要步骤,其目的是将车牌图像中的字符区域分割出来。
车牌字符分割算法的研究是本课题的重点之一。
在此基础上,我们将探讨如何对分割出的字符进行有效的识别和匹配,以保证车牌信息的准确性和可靠性。
2. 车牌字符识别算法研究车牌字符识别技术是车牌图像处理的核心问题之一,其目的是将车牌图像中的字符信息自动识别出来。
本课题将通过深入研究神经网络算法、模式识别算法等相关技术,构建有效的字符识别模型。
通过训练这个模型,能够快速而准确地识别出车牌中的字符信息。
三、研究方法1. 数据采集本课题将采用公开数据集进行研究,如CCPD、车牌字符数据集等。
同时,还将根据实际情况采集一些本地车牌图像进行测试和验证。
2. 图像处理技术本课题将应用多种图像处理技术,包括图像增强、二值化、边缘检测、形态学处理等,以有效处理车牌图像。
3. 算法开发本课题将基于Python平台,运用相关算法对车牌图像进行处理、字符分割和字符识别,在此基础上通过对实验结果进行分析,优化算法传统算法的表现,提高算法的准确率和稳定性。
四、预期研究成果1. 建立车牌字符分割及识别算法本课题将建立车牌字符分割算法和字符识别算法。
通过完整的实验流程,优化相关算法,建立出相应的模型以及算法,实现车牌字符的准确分割和识别,并进行实验验证。
2. 测试和结果分析本课题将基于实际数据和公开数据集进行测试,在此基础上对模型进行优化,并对结果进行分析和总结,得出相关结论,为实际应用提供参考。
车牌定位与车牌字符识别算法的研究与实现
车牌定位与车牌字符识别算法的研究与实现一、本文概述随着智能交通系统的快速发展,车牌识别技术作为其中的核心组成部分,已经得到了广泛的应用。
车牌定位与车牌字符识别作为车牌识别技术的两大关键环节,对于实现自动化、智能化的交通管理具有重要意义。
本文旨在探讨和研究车牌定位与车牌字符识别的相关算法,并通过实验验证其有效性和可行性。
本文首先对车牌定位算法进行研究,分析了基于颜色、纹理和边缘检测等特征的车牌定位方法,并对比了各自的优缺点。
随后,本文提出了一种基于深度学习的车牌定位算法,通过训练卷积神经网络模型实现对车牌区域的准确定位。
在车牌字符识别方面,本文介绍了传统的模板匹配、支持向量机(SVM)和深度学习等识别方法,并对各种方法的性能进行了比较。
在此基础上,本文提出了一种基于卷积神经网络的字符识别算法,通过训练模型实现对车牌字符的准确识别。
本文通过实验验证了所提出的车牌定位与车牌字符识别算法的有效性和可行性。
实验结果表明,本文提出的算法在车牌定位和字符识别方面均具有较高的准确率和鲁棒性,为车牌识别技术的实际应用提供了有力支持。
本文的研究不仅对车牌识别技术的发展具有重要意义,也为智能交通系统的进一步推广和应用提供了有益参考。
二、车牌定位算法的研究与实现车牌定位是车牌字符识别的前提和基础,其主要任务是在输入的图像中准确地找出车牌的位置。
车牌定位算法的研究与实现涉及图像处理、模式识别等多个领域的知识。
车牌定位算法的研究主要集中在两个方面:一是车牌区域的粗定位,即从输入的图像中大致找出可能包含车牌的区域;二是车牌区域的精定位,即在粗定位的基础上,通过更精细的处理,准确地确定车牌的位置。
在车牌粗定位阶段,常用的方法包括颜色分割、边缘检测、纹理分析等。
颜色分割主要利用车牌特有的颜色信息,如中国的车牌一般为蓝底白字,通过颜色空间的转换和阈值分割,可以大致找出可能包含车牌的区域。
边缘检测则主要利用车牌边缘的灰度变化信息,通过算子如Canny、Sobel等检测边缘,从而定位车牌。
复杂背景下车牌定位与字符分割算法研究的开题报告
复杂背景下车牌定位与字符分割算法研究的开题报告一、研究背景与目的近年来,随着汽车数量的不断增加,车牌识别技术也得到了广泛应用。
车牌识别系统可以实现自动地对车辆进行登记、监控和管理,能够有效提高交通安全性和管理水平。
而车牌识别系统的关键技术就是车牌定位与字符分割,其准确率和效率直接影响整个系统的性能和可靠性。
然而,在一些复杂的场景下,如光照不均、目标遮挡、倾斜变形等情况,车牌定位和字符分割的准确率会明显下降,这就对算法的鲁棒性提出了更高的要求。
因此,本文旨在研究适用于复杂场景下的车牌定位与字符分割算法,提高车牌识别系统的性能,实现快速、准确、稳定的车牌识别。
二、研究内容与方法车牌定位是车牌识别系统的关键步骤,其主要目的是从图像中确定车牌的位置和朝向。
常用的车牌定位方法包括基于颜色、基于形状和基于深度学习等方法。
然而,这些方法在一些具有复杂背景的场景下,例如夜间和弱光环境,效果较差。
因此,本文将探索利用多种信息融合的深度学习方法,提高车牌定位的鲁棒性和准确率。
车牌字符分割是车牌识别系统中的另一个重要环节,其主要任务是将车牌上的字符分割出来,方便后续的字符识别。
当前常用的车牌字符分割方法主要包括基于边缘检测和基于图像处理技术的方法。
然而,这些方法在面对复杂背景的情况下,往往难以达到较高的分割准确率。
因此,本文将尝试综合使用基于深度学习和图像处理的方式来实现车牌字符的可靠分割。
三、论文进展计划第一阶段,阅读相关文献,研究车牌定位和字符分割的相关算法,了解深度学习的基本概念和方法,研究多种信息融合的技术,包括颜色、形状、纹理等。
第二阶段,实现车牌定位和字符分割的算法,并测试其性能。
针对测试结果进行分析和评价,进一步改进算法,提高其鲁棒性和准确率。
第三阶段,将车牌定位和字符分割算法应用于实际场景,收集大量样本,对算法进行综合性能测试,并与现有算法进行比较和评估。
第四阶段,编写论文,并对研究结果进行总结和展望。
车牌字符分割开题报告
车牌字符分割开题报告导语:开题报告是每一个科研报告的导航,通过开题报告,你可以知道接下来论文与报告的大概方向与内容。
下面是小编整理的关于车牌识别中字符分割算法的研究与实现的报告,欢迎你的参考与借鉴!毕业论文开题报告题目车牌识别中字符分割算法的研究与实现毕业论文开题报告论文题目车牌识别中字符分割算法的研究与实现一、选题背景与意义车牌识别是现代智能交通系统[1] 中的重要组成部分之一,可用于公路电子收费、出入控制和交通监控等众多场合。
它以数字图像处理、模式识别、计算机视觉等技术为基础,对摄像机所拍摄的车辆图像或视频序列进行分析,得到每一辆汽车唯一的车牌号码,从而完成识别过程。
它主要包括三个关键部分:车牌区域定位、车牌字符分割、车牌字符识别,其中车牌字符分割的好坏直接影响到车牌识别的正确率,因此本文对字符分割的算法进行了深入的研究。
从20世纪80年代初,国外的研究人员就已经开始了对车辆牌照的研究。
英国一个研究所在1982年研制了一种用于刑侦的汽车牌照识别系统。
1983年,日本一家公司曾研究出用来检查超速行驶的汽车牌照识别系统。
如今,发达国家的车牌识别系统在实际交通系统中己取得了成功的应用,如交通检测系统VNPR(Vehicle Number Plate Recognition)。
它主要应用于寻找被盗的汽车、停车场的控制和交通流量的统计方面。
VNPR的主要工作任务是车牌的定位、字符的切割和字符的识别,这几部分的工作是紧密结合在一块的。
国外车牌识别系统的广泛应用不仅仅和其技术领先有关,还与这些国家的车牌比较单一,易于识别有关。
与一些发达同家已经成功应用的车牌识别系统相比,我国的开发应用进展显得较为缓慢。
这是因为我国的实际情况与国外有所区别,国外车牌比较规范统一,而我国车牌规范不够,较为多样化。
不同汽车类型的车牌有不同的规格、大小和颜色,所以车牌的颜色多,并且字符位数不统一,对处理造成了一定的困难。
相对而言,国内开发车牌识别系统较好的公司主要有:北京汉王科技有限公司、上海高德威智能交通系统有限公司、亚洲视觉科技有限公司等。
车牌字符分割方法的研究的开题报告
车牌字符分割方法的研究的开题报告一、选题背景和意义随着城市化进程的不断加快,车辆数量急剧增加,交通状况也日益复杂,如何实现车辆识别以及智能调度已经成为一个重要议题。
而在车辆识别中,车牌字符分割是一个至关重要的环节,它对于正确、快速地识别车牌号码具有决定性的影响。
因此,对于车牌字符分割方法的研究具有重要的实际意义。
二、研究内容和目标本次研究旨在提出一种基于图像处理技术的车牌字符分割方法,通过对车牌图像进行预处理、二值化、特征提取等步骤,最终得到分割后的车牌字符,并能够在不同的场景中进行有效的应用。
具体而言,研究内容包括:1.车牌图像预处理,例如去除噪声、调整图像亮度等。
2.车牌图像二值化,将彩色车牌图像转化为黑白二值图像。
3.车牌字符分割,通过特征提取和分类算法,对车牌字符进行有效分割。
4.车牌字符分割方法的实现,编写计算机程序,对不同场景的车牌图像进行测试和验证。
三、研究方法本研究将采用以下方法:1.对现有的车牌字符分割方法进行调研和分析,了解其优缺点,并提出本方法的改进策略。
2.针对车牌字符分割的特征进行深入研究,包括颜色、形状、边缘等方面。
3.设计和实现车牌字符分割的算法流程,可以采用基于统计学算法或者深度学习算法。
4.评价本文提出的车牌字符分割方法的准确度、鲁棒性和效率。
四、研究的创新性和可行性本研究的创新性和可行性在于:1.针对车牌识别中的字符分割环节进行深入、系统的研究,提出了适应不同条件的车牌字符分割方法,对解决车牌识别难题具有重要意义。
2.本研究提出的车牌字符分割方法融合了图像处理、特征提取和分类算法等多种技术,具有较强的实用性和可行性。
3.本研究实现的车牌字符分割方法在实验中具有较好的分割效果,可以为车辆识别和智能交通系统的发展提供基础技术支持。
五、论文框架本文拟从以下几个方面进行论述:1.绪论,介绍车牌字符分割的背景和意义,调研国内外相关研究现状,并提出本次研究的目标和内容。
2.相关技术介绍,对车牌字符分割所涉及的图像处理、特征提取和分类算法等技术进行介绍和分析。
汽车车牌自动定位与字符分割
汽车车牌自动定位与字符分割I=imread('Car.jpg'); %读入图片figure(1),imshow(I); %显示出图片[y,x,z]=size(I);myI=double(I); %转化数据为双精度型%%%%%%%%%%% RGB to HIS %%%%%%%% tic % 测定算法执行的时间,开始计时%%%%%%%%%%% 统计分析 %%%%%%%%%%%%%%%%=========== Y 方向 =============Blue_y=zeros(y,1);for i=1:yfor j=1:xif((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j ,3)<=142)&&(myI(i,j,3)>=119)))% 蓝色RGB的灰度范围Blue_y(i,1)= Blue_y(i,1)+1; % 蓝色象素点统计endendend[temp MaxY]=max(Blue_y); % Y方向车牌区域确定 PY1=MaxY;while ((Blue_y(PY1,1)>=5)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while ((Blue_y(PY2,1)>=5)&&(PY2<y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);%======================% X 方向%======================Blue_x=zeros(1,x); % 进一步确定X方向的车牌区域 for j=1:xfor i=PY1:PY2if((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j ,3)<=142)&&(myI(i,j,3)>=119)))Blue_x(1,j)= Blue_x(1,j)+1;endendendPX1=1;while ((Blue_x(1,PX1)<3)&&(PX1<x))PX1=PX1+1;endPX2=x;while ((Blue_x(1,PX2)<8)&&(PX2>PX1))PX2=PX2-1;end%======对车牌区域的修正=========PX1=PX1-2; %PX2=PX2+2;Plate=I(PY1:PY2,PX1-2:PX2+2,:); %======像素点数在X、Y方向上的统计并且显示数量统计图 t=toc; % 读取计时figure(2),plot(Blue_x);grid figure(3),plot(Blue_y);gridfigure(4),imshow(IY);figure(5),imshow(Plate);%======字符分割并且分别显示IA=I(PY1:PY2,PX1-2:PX1+12,:); figure(6),imshow(IA);IB=I(PY1:PY2,PX1+ 12:PX1+26,:); figure(7),imshow(IB);IC=I(PY1:PY2,PX1+28:PX1+44,:); figure(8),imshow(IC);ID=I(PY1:PY2,PX1+44:PX1+56,:); figure(9),imshow(ID);IE=I(PY1:PY2,PX1+58:PX1+70,:); figure(10),imshow(IE);IF=I(PY1:PY2,PX1+70:PX1+84,:); figure(11),imshow(IF);IG=I(PY1:PY2,PX1+84:PX2+2,:); figure(12),imshow(IG);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 字符分割模块算法% 定位剪切后的彩色车牌图像,,灰度,,二值化,,统一到黑底白字,,去除上下边框 % ,,切割出最小范围,,滤波,,形态学处理,,分割出7个字符% 去除上下边框算法:% 1.黑白跳变小于阈值则被视为背景;2.连续白线大于某阈值则该白线被认为是背景% 3.单行白色大于阈值则被认为是背景,考虑FLAG的值; % 4.做完以上处理后,上边1/2 中搜索连续两条黑线,认为该黑线以上为背景;在下边1/2 中搜索连续两条黑线,认为该黑线以下为背景% 归一化为 40*20 ,商用系统程序中归一化为 32*16 ,此处仅演示作用function [d]=lpcseg(jpg)I=imread('car1.jpg');I1=rgb2gray(I);I2=edge(I1,'robert',0.15,'both'); se=[1;1;1];I3=imerode(I2,se);se=strel('rectangle',[25,25]); I4=imclose(I3,se);I5=bwareaopen(I4,2000);[y,x,z]=size(I5);myI=double(I5);ticwhite_y=zeros(y,1);for i=1:yfor j=1:xif(myI(i,j,1)==1)white_y(i,1)= white_y(i,1)+1;endendend[temp MaxY]=max(white_y);PY1=MaxY;while ((white_y(PY1,1)>=5)&&(PY1>1)) PY1=PY1-1;endPY2=MaxY;while ((white_y(PY2,1)>=5)&&(PY2<y)) PY2=PY2+1;endIY=I(PY1:PY2,:,:);white_x=zeros(1,x);for j=1:xfor i=PY1:PY2if(myI(i,j,1)==1)white_x(1,j)= white_x(1,j)+1;endendendPX1=1;while ((white_x(1,PX1)<3)&&(PX1<x)) PX1=PX1+1;endPX2=x;while ((white_x(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX1=PX1-1;PX2=PX2+1;dw=I(PY1:PY2-8,PX1:PX2,:);t=toc;figure(1),subplot(3,2,1),imshow(dw),title('定位剪切后的彩色车牌图像') imwrite(dw,'dw.jpg');[filename,filepath]=uigetfile('dw.jpg','输入一个定位裁剪后的车牌图像'); jpg=strcat(filepath,filename); a=imread(jpg);%figure(1);subplot(3,2,1),imshow(a),title('1.定位剪切后的彩色车牌图像') b=rgb2gray(a);imwrite(b,'2.车牌灰度图像.jpg');figure(1);subplot(3,2,2),imshow(b),title('2.车牌灰度图像')g_max=double(max(max(b))); g_min=double(min(min(b))); T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值 [m,n]=size(b);d=(double(b)>=T); % d:二值图像imwrite(d,'3.车牌二值图像.jpg');figure(1);subplot(3,2,3),imshow(d),title('3.车牌二值图像')% 旋转rotate=0;d=imread('3.车牌二值图像.jpg');bw=edge(d);[m,n]=size(d);theta=1:179;% bw 表示需要变换的图像,theta 表示变换的角度% 返回值 r 表示的列中包含了对应于 theta中每一个角度的 Radon 变换结果% 向量 xp 包含相应的沿 x轴的坐标[r,xp]=radon(bw,theta); i=find(r>0);[foo,ind]=sort(-r(i));k=i(ind(1:size(i)));[y,x]=ind2sub(size(r),k); [mm,nn]=size(x);if mm~=0 && nn~=0j=1;while mm~=1 && j<180 && nn~=0i=find(r>j);[foo,ind]=sort(-r(i));k=i(ind(1:size(i)));[y,x]=ind2sub(size(r),k);[mm,nn]=size(x);j=j+1;endif nn~=0if x % Enpty matrix: 0-by-1 when x is an enpty array.x=x;else % 可能 x 为空值x=90; % 其实就是不旋转endd=imrotate(d,abs(90-x)); % 旋转图像rotate=1;endendimwrite(d,'4.Radon 变换旋转后的二值图像.jpg');figure(1),subplot(3,2,4),imshow(d),title('4.Radon 变换旋转后的二值图像')% 统一到白底黑字[m,n]=size(d);% flag=0 表示原来就是白底黑字,否则表示原来是黑底白字 flag=0;c=d([round(m/3):m-round(m/3)],[round(n/3):n-round(n/3)]);if sum(sum(c))/m/n*9>0.5d=~d;flag=1;end% 对反色后的图像预处理,整列几乎为白的认为是背景if flag==1for j=1:nif sum(sum(d(:,j)))/m>=0.95d(:,j)=0;endend% 对以上处理后的图像再处理% 在左边 1/2 处找连续两条黑线,认为该黑线左边为背景;在右边 1/2 处找连续两条黑线,认为该黑线右边是背景% 左边 1/2jj=0;for j=1:round(n/2)if sum(sum(d(:,[j:j+0])))==0jj=j;endendd(:,[1:jj])=0;% 右边 1/2for j=n:-1:round(n/2)if sum(sum(d(:,[j-0:j])))==0jj=j;endendd(:,[jj:n])=0;endimwrite(d,'5.统一成黑底白字.jpg');figure(1),subplot(3,2,5),imshow(d),title('5.背景色统一成黑底白字') figure(2),subplot(5,1,1),imshow(d),title('5.黑底白字的二值车牌图像') % 去除上下边框% STEP 1 黑白跳变小于阈值则被视为背景% 上面 2/5y1=10; % y1: 跳变阈值for i=1:round(m/5*2)count=0;jump=0;temp=0; for j=1:nif d(i,j)==1temp=1;elsetemp=0;endif temp==jumpcount=count;elsecount=count+1;endjump=temp;endif count<y1d(i,:)=0;endend% 下面 2/5for i=3*round(m/5):m count=0;jump=0;temp=0; for j=1:nif d(i,j)==1temp=1;elsetemp=0;endif temp==jumpcount=count;elsecount=count+1;endjump=temp;endif count<y1d(i,:)=0;endendimwrite(d,'6.黑白跳变小于某阈值的行则被视为背景.jpg');figure(2),subplot(5,1,2),imshow(d),title('6.黑白跳变小于某阈值的行则被视为背景')% STEP 2 单行白色大于阈值则被认为是背景,考虑 FLAG 的值 % 上面 2/5 y2=round(n/2); % y2: 阈值for i=1:round(m/5*2)if flag==0temp=sum(d(i,:));y2=round(n/2);if temp>y2d(i,:)=0;endelsetemp=m-sum(d(i,:));y2=m-round(n/2); if temp<y2d(i,:)=0;endendend% 下面 2/5for i=round(3*m/5):mif flag==0temp=sum(d(i,:));y2=round(n/2);if temp>y2d(i,:)=0;endelsetemp=m-sum(d(i,:));y2=m-round(n/2); if temp<y2d(i,:)=0;endendendimwrite(d,'7.单行白色点总数大于某阈值则该行被认为是背景.jpg');figure(2),subplot(5,1,3),imshow(d),title('7.单行白色点总数大于某阈值则该行被认为是背景')% STEP 3 单行白色大于阈值则被认为是背景,考虑 FLAG 的值 % 上面 2/5 y2=round(n/2); % y2: 阈值for i=1:round(m/5*2)if flag==0temp=sum(d(i,:));y2=round(n/2);if temp>y2d(i,:)=0;endelsetemp=m-sum(d(i,:));y2=m-round(n/2);if temp<y2d(i,:)=0;endendend% 下面 2/5for i=round(3*m/5):mif flag==0temp=sum(d(i,:));y2=round(n/2);if temp>y2d(i,:)=0;endelsetemp=m-sum(d(i,:));y2=m-round(n/2);if temp<y2d(i,:)=0;endendendimwrite(d,'8.单行白色点总数大于某阈值则该行被认为是背景.jpg');figure(2),subplot(5,1,4),imshow(d),title('8.单行白色点总数大于某阈值则该行被认为是背景')% STEP 4 做完以上处理后,上边 1/2 中搜索连续两条黑线,认为该黑线以上为背景; % 在下边 1/2 中搜索连续两条黑线,认为该黑线以下为背景 % 上边 1/2 for i=1:round(m/2)if sum(sum(d([i,i+0],:)))==0ii=i;endendd([1:ii],:)=0;% 下边 1/2for i=m:-1:round(m/2)if sum(sum(d([i-0:i],:)))==0ii=i;endendd([ii:m],:)=0;imwrite(d,'9.搜索上下两条黑线后的结果.jpg');figure(2),subplot(5,1,5),imshow(d),title('9.搜索上下两条黑线后的结果') % 反旋转if rotate==1d=imrotate(d,-abs(x-90)); endimwrite(d,'10.反旋转去毛刺后.jpg');figure(3),subplot(3,2,1),imshow(d),title('10.反旋转去毛刺后') % 切割处最小范围d=qiege(d);e=d;imwrite(d,'11.切割处最小范围.jpg');figure(3),subplot(3,2,2),imshow(d),title('11.切割处最小范围')figure(3),subplot(3,2,3),imshow(d),title('11.均值滤波前') % 滤波h=fspecial('average',3); d=im2bw(round(filter2(h,d))); imwrite(d,'12.均值滤波后.jpg');figure(3),subplot(3,2,4),imshow(d),title('12.均值滤波后')% 某些图像进行操作% 膨胀或腐蚀% se=strel('square',3); % 使用一个3X3的正方形结果元素对象对创建的图像进行膨胀% 'line'/'diamond'/'ball'... se=eye(2); % eye(n) returns the n-by-n identity matrix 单位矩阵 [m,n]=size(d);if bwarea(d)/m/n>=0.365d=imerode(d,se);elseif bwarea(d)/m/n<=0.235d=imdilate(d,se);endimwrite(d,'13.膨胀或腐蚀处理后.jpg');figure(3),subplot(3,2,5),imshow(d),title('13.膨胀或腐蚀处理后') % 寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割 d=qiege(d);[m,n]=size(d);figure,subplot(2,1,1),imshow(d),title(n)k1=1;k2=1;s=sum(d);j=1;while j~=nwhile s(j)==0j=j+1;endk1=j;while s(j)~=0 && j<=n-1j=j+1;endk2=j-1;if k2-k1>=round(n/6.5)[val,num]=min(sum(d(:,[k1+5:k2-5])));d(:,k1+num+5)=0; % 分割endend% 再切割d=qiege(d);% 切割出 7 个字符y1=10;y2=0.25;flag=0;word1=[]; while flag==0[m,n]=size(d);left=1;wide=0;while sum(d(:,wide+1))~=0wide=wide+1;endif wide<y1 % 认为是左侧干扰d(:,[1:wide])=0;d=qiege(d);elsetemp=qiege(imcrop(d,[1 1 wide m]));[m,n]=size(temp);all=sum(sum(temp));two_thirds=sum(sum(temp([round(m/3):2*round(m/3)],:))); if two_thirds/all>y2flag=1;word1=temp; % WORD 1endd(:,[1:wide])=0;d=qiege(d);endend% 分割出第二个字符[word2,d]=getword(d);% 分割出第三个字符[word3,d]=getword(d);% 分割出第四个字符[word4,d]=getword(d);% 分割出第五个字符[word5,d]=getword(d);% 分割出第六个字符[word6,d]=getword(d);% 分割出第七个字符[word7,d]=getword(d);subplot(5,7,1),imshow(word1),title('1');subplot(5,7,2),imshow(word2),title('2');subplot(5,7,3),imshow(word3),title('3');subplot(5,7,4),imshow(word4),title('4');subplot(5,7,5),imshow(word5),title('5');subplot(5,7,6),imshow(word6),title('6');subplot(5,7,7),imshow(word7),title('7'); [m,n]=size(word1);% 商用系统程序中归一化大小为 32*16,此处演示word1=imresize(word1,[40 20]);word2=wordprocess(word2);word3=wordprocess(word3);word4=wordprocess(word4);word5=wordprocess(word5);word6=wordprocess(word6);word7=wordprocess(word7);subplot(5,7,15),imshow(word1),title('1');subplot(5,7,16),imshow(word2),title('2');subplot(5,7,17),imshow(word3),title('3');subplot(5,7,18),imshow(word4),title('4');subplot(5,7,19),imshow(word5),title('5');subplot(5,7,20),imshow(word6),title('6');subplot(5,7,21),imshow(word7),title('7'); imwrite(word1,'14.字符分割归一化后 1.jpg');imwrite(word2,'14.字符分割归一化后 2.jpg');imwrite(word3,'14.字符分割归一化后 3.jpg');imwrite(word4,'14.字符分割归一化后 4.jpg');imwrite(word5,'14.字符分割归一化后 5.jpg');imwrite(word6,'14.字符分割归一化后 6.jpg');imwrite(word7,'14.字符分割归一化后 7.jpg');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clcword='';word(1)=wordrec(word1);word(2)=wordrec(word2);word(3)=wordrec(word3);word(4)=wordrec(word4);word(5)=wordrec(word5);word(6)=wordrec(word6);word(7)=wordrec(word7);clcsave I 'word1' 'word2' 'word3' 'word4' 'word5' 'word6' 'word7' clearload I;load bp net;word='';word(1)=wordrec(word1);word(2)=wordrec(word2);word(3)=wordrec(word3);word(4)=wordrec(word4);word(5)=wordrec(word5);word(6)=wordrec(word6);word(7)=wordrec(word7);word=strcat('识别结果:',word);subplot(5,3,14),imshow([]),title(word,'fontsize',24)% 该子程序用于切割出最小范围function e=qiege(d)[m,n]=size(d);top=1;bottom=m;left=1;right=n; % init while sum(d(top,:))==0 && top<=mtop=top+1;endwhile sum(d(bottom,:))==0 && bottom>=1bottom=bottom-1;endwhile sum(d(:,left))==0 && left<=nleft=left+1;endwhile sum(d(:,right))==0 && right>=1right=right-1;enddd=right-left;hh=bottom-top;e=imcrop(d,[left top dd hh]);% 分割字符function [word,result]=getword(d) word=[];flag=0;y1=8;y2=0.5; % if d==[]% word=[];% elsewhile flag==0[m,n]=size(d);wide=0;while sum(d(:,wide+1))~=0 && wide<=n-2wide=wide+1;endtemp=qiege(imcrop(d,[1 1 wide m]));[m1,n1]=size(temp);if wide<y1 && n1/m1>y2d(:,[1:wide])=0;if sum(sum(d))~=0d=qiege(d); % 切割出最小范围else word=[];flag=1;endelseword=qiege(imcrop(d,[1 1 wide m]));d(:,[1:wide])=0;if sum(sum(d))~=0;d=qiege(d);flag=1;else d=[];endendend%endresult=d; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 该子程序用于字符归一化处理function d=wordprocess(d)[m,n]=size(d);%top 1/3, bottom 1/3for i=1:round(m/3)if sum(sum(d([i:i+0],:)))==0ii=i;d([1:ii],:)=0;endendfor i=m:-1:2*round(m/3)if sum(sum(d([i-0:i],:)))==0ii=i;d([ii:m],:)=0;endendif n~=1d=qiege(d);end% d=..这个可以通过训练过程设置大小% d=imresize(d,[32 16]); % 商用系统程序中归一划大小为:32*16d=imresize(d,[40 20]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 编号:A-Z 分别为 1-26; 0-9 分别为 27-36;% 京津沪渝港澳吉辽鲁豫冀鄂湘晋青皖苏 % 赣浙闽粤琼台陕甘云川贵黑藏蒙桂新宁 % 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59% 60 61 62 63 64 65 66 67 68 69 70 % 使用 BP 网络function word=wordrec(xx)% clear% clcload bp net;xx=im2bw(xx);xx=double(xx(:)); % 使用阈值将图像转换为二进制图像a=sim(net,xx); % 归一划为: 32*16,则 xx=512*1; [val,num]=max(a);if num<=26word=char(double('A')+num-1); elseif num<=36word=char(double('0')+num-1-26); elseswitch numcase 37word='京';case 38word='津';case 39word='沪';case 40word='渝';case 41word='港';case 42word='澳';case 43word='吉'; case 44 word='辽'; case 45 word='鲁'; case 46 word='豫'; case 47 word='冀'; case 48 word='鄂'; case 49 word='湘'; case 50 word='晋'; case 51 word='青'; case 52 word='皖'; case 53 word='苏'; case 54 word='赣'; case 55word='浙'; case 56 word='闽'; case 57 word='粤'; case 58 word='琼'; case 59 word='台'; case 60 word='陕'; case 61 word='甘'; case 62 word='云'; case 63 word='川'; case 64 word='贵'; case 65 word='黑'; case 66 word='藏'; case 67word='蒙'; case 68 word='桂'; case 69 word='新'; case 70 word='宁'; endend。
一种车牌字符定位及分割方法
一种车牌字符定位及分割方法一、车牌字符定位及分割的重要性咱都知道车牌在交通管理啥的方面超级重要,就像人的身份证一样呢。
那要对车牌进行各种处理,这字符定位和分割就是很关键的第一步啦。
你想啊,如果这个都搞不定,后面想要识别车牌上的字,那根本就无从谈起呀。
比如说在停车场管理系统里,要准确知道进来的车是谁的,就得先把车牌的字符定位好、分割开,这样才能进一步处理。
又或者在马路上的交通监控里,这也是很必要的操作哦。
二、现有的一些思路1. 基于颜色的方法很多车牌都有自己独特的颜色组合,像咱们常见的蓝底白字。
我们就可以利用这个颜色特征来进行定位。
比如说,先在图像里找到那种蓝色的区域,然后再进一步判断这个蓝色区域是不是车牌。
不过呢,这种方法也有它的小麻烦。
要是遇到光线不好的时候,颜色可能就会变得怪怪的,那识别起来就可能出错啦。
就像晚上,路灯的颜色可能会让车牌看起来和白天不太一样,颜色的判断就没那么准确了。
2. 基于边缘检测的方法车牌的边缘和周围的东西比起来是比较特殊的。
我们可以通过检测边缘来找到车牌的位置。
像一些算法可以找到图像里边缘比较明显的地方。
但是呢,这个方法也不是完美的。
如果图像里有其他东西的边缘和车牌很相似,就可能会混淆。
比如说,有些车身上的装饰条边缘很锐利,就可能被误当成车牌的边缘呢。
三、我想到的一种车牌字符定位及分割方法1. 预处理阶段首先呢,要对获取到的图像进行灰度化处理。
为啥要这样呢?因为彩色图像信息太多了,处理起来比较复杂,变成灰度图像就简单一些。
就好比我们整理东西,先把不需要的颜色信息去掉,只留下基本的明暗信息。
然后呢,要进行滤波操作。
这个就像是给图像做一个小清洁,把那些可能是噪声的小点点去掉。
因为噪声会干扰我们对车牌的定位和分割。
比如说图像里可能有一些灰尘或者其他小杂物的干扰,滤波就能把它们去掉,让图像更干净。
2. 定位阶段在经过预处理的图像里,我们可以结合颜色和边缘的特征来定位车牌。
先按照颜色大概找到可能是车牌的区域,然后再用边缘检测的方法在这个区域里精确地找到车牌的边缘。
复杂背景下的车牌定位和字符分割研究
—198— 复杂背景下的车牌定位和字符分割研究周开军,陈三宝,徐江陵(武汉理工大学自动化学院,武汉 430063)摘 要:提出了一种综合边缘检测、投影特征的车牌定位方法和基于垂直投影及模板匹配的字符分割方法,提取车牌灰度图像边缘,实验结果显示该算法检测边缘的速度快,车牌区域轮廓清晰,采用投影法确定车牌区域,用HOUGH 变换检测倾斜角度进而对倾斜的车牌进行矫正,通过字符分割算法对车牌字符进行切割,有效地解决了复杂环境的干扰、车牌尺寸变化等问题。
对不同背景下的光照车牌进行了大量实验,结果表明该算法能准确地进行车牌定位以及字符分割,具有较好的鲁棒性。
关键词:车牌定位;字符分割;边缘检测;车牌校正Research of Vehicle License Plate Location and CharacterSegmentation Under Complex ScenesZHOU Kaijun, CHEN Sanbao, XU Jiangling(School of Automation, Wuhan University of Technology, Wuhan 430063)【Abstract 】An edge detection-projection feature based algorithm to locate the LP and a vertical projection-template matching algorithm to segment the characters are proposed. The edges are detected in a gray-level vehicle image, the result of experiment shows that the speed of detecting license plate is high and the obtained contour is very legible. The LP region is located by projection method, the tilt angle of LP is corrected by Hough transform. The character is segmented by LP segmentation algorithm, and some problems are solved effectively under complex scenes. To demonstrate the effectiveness of the proposed algorithm, it conducts extensive experiments over a large number of real-world vehicle license plates.It reports that the proposed algorithms have high accuracy and robustness.【Key words 】LP location; Character segmentation; Edge detection; LP orientation correction计 算 机 工 程Computer Engineering 第33卷 第4期Vol.33 No.4 2007年2月February 2007·人工智能及识别技术·文章编号:1000—3428(2007)04—0198—03文献标识码:A中图分类号:TP39车牌照自动识别技术是智能交通系统(ITS)中的重要研究课题,在停车场和高速公路收费管理中有着广泛的应用。
车牌定位分割 实验报告
汽车车牌的号码识别1.车牌号码识别的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,得到输出结果。
2.车牌号码识别系统原理图各部分说明如下:(1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。
(2)车牌定位:从预处理后的汽车图像中分割出车牌图像。
即在一幅车辆图像中找到车牌所在的位置。
(3)字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像。
(4)字符识别:对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌号码。
3.源程序代码及图形(1)I=imread('yuan.bmp');figure;subplot(2,2,1);imshow(I);title('原图');I1=rgb2gray(I);%图像灰度化subplot(2,2,2);imshow(I1);title('灰度化图');m2=medfilt2(I1,[5,5]);subplot(2,2,3);imshow(m2);title('中值滤波');w2=wiener2(I1,[5,5]);%维纳滤波subplot(2,2,4);imshow(w2);title('维纳滤波');(2)图像二值化fmax1=double(max(max(I1)));fmin1=double(min(min(I1)));level=(fmax1-(fmax1-fmin1)/3)/255; bw2=im2bw(I1,level);bw22=double(bw2);figure,imshow(bw22),title('图像二值化 ');(3)图像算法处理lubo=edge(bw22,'log');figure;subplot(2,2,1);imshow(bw2);title('Log算子边缘检测');%图像边缘检测bg1=imclose(lubo,strel('rectangle',[1,33]));subplot(2,2,2),imshow(bg1);title('图像闭运算[1,33]'); bg3=imopen(bg1,strel('rectangle',[1,33]));subplot(2,2,3),imshow(bg3);title('图像开运算 [1,33]'); bg2=imopen(bg3,strel('rectangle',[12,1]));subplot(2,2,4),imshow(bg2);title('图像开[15,1]');(4)图像标记[L,num] = bwlabel(bg2,8);%标注二进制图像中已连接的部分%Feastats = imfeature(L,'basic');%计算图像区域的特征尺寸%Area=[Feastats.Area];%区域面积%BoundingBox=[Feastats.BoundingBox];%[x y width height]车牌的框架大小%RGB = label2rgb(L, 'spring', 'k', 'shuffle'); %标志图像向RGB图像转换figure,imshow(L);title('图像标记 ');%输出框架的彩色图像(5)形态滤波I5=bwareaopen(L,1000);%去除聚团灰度值小于2000的部分figure,imshow(I5),title('形态滤波后图像');(6) [y,x,z]=size(I5);I6=double(I5);Y1=zeros(y,1);for i=1:yfor j=1:xif(I6(i,j,1)==1)Y1(i,1)= Y1(i,1)+1;endendend[temp MaxY]=max(Y1);figure();subplot(3,2,1),plot(0:y-1,Y1),title('行方向像素点灰度值累计和’),xlabel('行值'),ylabel('像素');PY1=MaxY;while ((Y1(PY1,1)>=50)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while ((Y1(PY2,1)>=50)&&(PY2<y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);X1=zeros(1,x);for j=1:xfor i=PY1:PY2if(I6(i,j,1)==1)X1(1,j)= X1(1,j)+1;endendendsubplot(3,2,2),plot(0:x-1,X1),title('列方向像素点灰度值累计和'),xlabel('列值'),ylabel('像数');PX1=1;while ((X1(1,PX1)<3)&&(PX1<x))PX1=PX1+1;endPX2=x;while ((X1(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX1=PX1-1;PX2=PX2+1;%分割出车牌图像%dw=I(PY1:PY2,PX1:PX2,:);subplot(3,2,3),imshow(dw),title('定位剪切后的彩色车牌图像')if isrgb(dw)II1 = rgb2gray(dw); %将RGB图像转化为灰度图像else II1=dw;endg_max=double(max(max( II1)));g_min=double(min(min( II1)));T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值[m,n]=size(II1);% d:二值图像%h=graythresh(I1);II=im2bw(II1,T/256);subplot(3,2,4);imshow(II),title('二值化车牌图像');I2=bwareaopen(II,20);subplot(3,2,5);imshow(I2),title('形态学滤波后的二值化图像');[y1,x1,z1]=size(I2);I3=double(I2);TT=1;%%%%%%%去除图像顶端和底端的不感兴趣的区域 %%%%%Y1=zeros(y1,1);for i=1:y1for j=1:x1if(I3(i,j,1)==1)Y1(i,1)= Y1(i,1)+1 ;endendendPy1=1;Py0=1;while ((Y1(Py0,1)<20)&&(Py0<y1))Py0=Py0+1;endPy1=Py0;while((Y1(Py1,1)>=20)&&(Py1<y1))Py1=Py1+1;endI2=I2(Py0:Py1,:,:);subplot(3,2,6);imshow(I2),title('目标车牌区域');(7)%%%%%% 分隔字符按行累计值%%%%%%%X1=zeros(1,x1);for j=1:x1for i=1:y1if(I3(i,j,1)==1)X1(1,j)= X1(1,j)+1;endendendfigure;plot(0:x1-1,X1),title('列方向像素点灰度值来计和 '),xlabel('列值'),ylabel('累计像素量 ');Px0=1;Px1=1;(8) %%%%%%%%%%%%分割字符%%%%%%%%%%%%%%%%%%for i=1:7while ((X1(1,Px0)<3)&&(Px0<x1))Px0=Px0+1;endPx1=Px0;while (((X1(1,Px1)>=4)&&(Px1<x1))||((Px1-Px0)<10)) Px1=Px1+1;endZ=I2(:,Px0:Px1,:);switch strcat('Z',num2str(i))case'Z1'PIN0=Z;case'Z2'PIN1=Z;case'Z3'PIN2=Z;case'Z4'PIN3=Z;case'Z5'PIN4=Z;case'Z6'PIN5=Z;otherwisePIN6=Z;endfigure(8);subplot(1,7,i);imshow(Z);Px0=Px1;end。
车牌字符识别调研报告
车牌字符识别调研汇报一、背景与重要意义:伴随科技旳日渐进步, 计算机在各个领域应用旳不停扩大和图像处理技术旳不停提高, 越来越多旳人将目光放在了研究字符识别上。
目前诸多工厂实现了工业生产系统全自动化运行, 各行各业都朝着自动化方向发展。
而在另首先, 伴随我国经济旳持续高速发展以及都市化进程旳加速, 使得都市与汽车旳数量也随之大幅增长, 道路交通旳流量不停增大。
不过与之相对应旳基础交通设施, 道路建设却增长缓慢, 已难以满足如今现代化都市旳需要。
因此, 有人提出了给车辆建立它们旳身份系统, 通过这个系统, 当检测到车辆超载、超车等违规现象旳时候就可以自行对车主进行惩罚、记录, 在车辆被收取过路费旳时候可以也自动从车主账户处理。
然而国外旳此方面技术虽然成熟, 不过并不能直接应用与我国。
由于我国旳车牌字符不仅包括字母和数字, 还包括比之复杂许多旳中文。
也由于我国旳道路条件还比较差, 污染亦比较严重, 行车过程中多种偶尔原因都也许导致车牌不能迅速识别。
因此, 精确又迅速旳识别车牌, 已变成如今国内研究车牌识别系统旳重要内容, 也是智能交通系统得以实现旳重要构成部分。
二、有关算法●车牌字符识别系统旳有关算法有三部分构成: 车牌定位、字符分割、字符识别。
●车牌定位对于车牌定位算法旳研究, 基于边缘密度分析旳车牌定位算法和基于连通域分析旳字符分割算法。
基于边缘密度旳车牌定位算法首先进行图像预处理, 然后运用改善旳 sobel 算法提取边缘, 最终再进行边缘密度分析将提取旳边缘点连接成线段, 最终进行形态学操作定位车牌区域并清除伪车牌。
因此基于边缘密度旳车牌定位算法旳基本流程总结为:(1) 图像预处理, 将彩色图像灰度化, 并合适降维以提高运算速度, 通过灰度方差法来增强车牌类似区域(2) 运用改善旳 sobel 算子对预处理后旳图像进行边缘提取(3) 进行边缘密度分析, 车牌区域旳垂直边缘比较丰富, 考虑到车牌倾斜旳影响, 同步分析斜线边缘, 根据车牌区域旳某些先验知识, 例如说车牌长宽比、车牌区域内旳字符数、车牌字符间隔等等, 标识符合规则旳边缘点, 边缘点连接成线段。
实验报告 车辆牌照定位与字符识别
六、小结
通过这次上机实验,给我最大的收获是认识到了MATLAB软件的强大之处,以前在图书馆里就看到过关于这款软件的书籍,就知道这个软件很强大,但是不曾仔细看。这次学习到了一些东西,了解了它的一些功能。它可以做计算,特别是矩阵方面的计算,是非常实用的工具。
预习分
操作分
报告分
总成绩
实 验 报 告
学 号
姓 名
同 组 者
实验名称车辆牌照定位与字符识别指导老师
班 级实验日期2011.11.14
实验报告具体内容一般应包括:一、实验目的和要求;二、实验原理;三、主要仪器设备(软件);四、实验内容及实验数据记录;五、实验数据处理与分析;六、问题与建议
一.实验目的和要求
最后,感谢在这次实验中帮助过我的同学和老师,因你们的帮助,我才能学习到更多的知识,因你们的帮助,我才能学好更多的知识。
(2)由摄像机或CCD摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理,图像预处理包括图像转换、图像增强、滤波和水平较正等;
(3)由检索模块进行牌照搜索与检测,定位并分割出包含牌照字符号码的矩形区域;
(4)对字符进行二值化并分割出单个字符,经归一化后输入字符识别系统进行识别。
三、主要仪器设备(软件)
图1牌照识别系统原理图
该系统是计算机图像处理与字符识别技术在智能化交通管理系统中的应用,它主要由牌照图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等几个部分组成,如图1所示。其基本工作过程如下:
(1)当行驶的车辆经过时,触发传感器,系统被唤醒处于工作状态;一旦摄像头快门的光电传感器被触发,设置在车辆前方、后方和侧面的相机同时拍摄下车辆图像;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
车牌的定位与分割实验报告一实验目的针对交通智能系统所拍摄的汽车图片,利用设定的算法流程,完成对汽车车牌部分的定位,分割车牌部分,并完成字符的分割,以便于系统的后续分析及处理。
二实验原理详见《车牌的定位与字符分割》论文。
三概述1一般流程车牌自动识别技术大体可分为四个步骤:图像预处理、车牌定位与分割、车牌字符的分割和车牌字符识别。
而这四个步骤又可归结为两大部分:车牌分割和车牌字符识别。
图1-1为车牌自动识别技术的一般流程图。
2本实验的流程(1)图像预处理:图像去噪(2)车牌的定位:垂直边缘检测(多次)形态学处理的粗定位合并邻近区域结合车牌先验知识的精确定位(3)车牌预处理:车牌直方图均衡化倾斜校正判定(蓝底白字或者黄底黑字)归一化、二值化(4)字符的分割:垂直投影取分割阈值确定各个字符的左右界限(结合字符宽度、间隔等先验知识)分割字符四实验过程4.1图像预处理4.1.1图像去噪一般的去噪方法有:空间域上的均值滤波和中值滤波;频率域上的巴特沃斯滤波器。
图4-1是各滤波器处理椒盐噪声的效果。
a.被椒盐噪声污染的图片 b.均值滤波的效果图 c.中值滤波的效果图 d.BLPF的效果图图4-1 各滤波器处理椒盐噪声的仿真可见,中值滤波对椒盐噪声的处理效果极好,而一般所拍摄的图片上最多的便是孤立的污点,所以此处以中值滤波为主进行去噪。
图4-2是采用中值滤波处理实际汽车图片的效果。
a.原始图像b.灰度图像c.中值滤波后的图像图4-2 中值滤波处理实际汽车图片的效果很显然,经过中值滤波后去除了原图上的部分污点。
4.1.2图像复原由于通常情况下都不知道点扩展函数,所以我们采用基于盲解卷积的图像复原策略。
图4-3~4-7图是函数进行盲解卷积的实验结果,其中图4-3是图像cameraman 的模糊图像。
图4-3 模糊图像在盲解卷积处理中,选择适当大小的矩阵对恢复图像的效果很重要。
PSF的大小比PSF的值更重要,所以首先指定一个有代表性的全1矩阵作为初始PSF。
恢复的图像如图4-4所示,初始PSF如图4-5所示。
图4-4 初步恢复图像图4-5 初始PSF 复原的图像呈现出由算法中使用的离散傅里叶变换所引入的振铃,则我们在调用函数deconvblind之前要使用函数edgetaper。
消除振铃后的图像如图4-6所示,新重建的PSF如图4-7所示。
图4-6 消除振铃后的图像图4-7 新重建的PSF由图可以看出,恢复后的图像消除了振铃的存在,但是,恢复结果仍有一定的失真。
4.1.3图像增强此处采用直方图均衡化来增强图像对比度。
图4-8为原始图像,图4-9为直方图均衡化后的效果图。
图4-8 原始图像图4-9为直方图均衡化后的效果图很明显地增强了图像对比度。
4.2车牌定位4.2.1垂直边缘检测对于垂直边缘,我们提出了自己的算法,能很好地去除大量非字符的垂直边缘,定位效果也较好。
图4-10给出了本文算法与Sobel算法、Prewitt算法的应用结果比较。
图4-10(a)为原始图像,图(b)为其灰度图像,图(c)为用sobel 垂直算子获得的垂直边缘图,图(d)用prewitt垂直算子获得的垂直边缘图,图(e)为用canny算子获得的边缘图,图(f)为使用本文算法获得的垂直边缘图,模板参数取m=2,n=12。
a.原始图像b.灰度图像c.Sobel算子处理的结果d.Prewitt算子处理的结果e.Canny算子处理的结果f.本文算法处理结果图4-10本文算法和经典算法的比较4.2.2(多次)形态学处理的粗定位一次形态学处理后的结果如若不理想,可进行第二次形态学处理,且结构元素大小可根据实际情况进行调整。
图4-11是运用该算法对图4-10(f)的垂直纹理图进行两次形态学处理的结果。
a.一次形态中腐蚀的结果b.一次形态中膨胀的结果c.二次形态中腐蚀的结果d.二次形态中膨胀的结果图4-11 运用该算法对图4-10(f)的垂直纹理图进行两次形态学处理的结果其中,由图d可看出除了目标车牌外,还有三个疑似车牌区,只实现了车牌的粗定位,因此还需要后续处理。
4.2.3合并邻近区域图4-12是运用该算法对另一幅图的处理结果。
a.原始图像b.一次形态后的粗定位图4-12由图中可以看出,由于车牌字符最后三个字符为111,在形态学处理后所得的相应区域与前面的四个字符断开了,从而被当做疑似车牌被该算法舍去了。
而合并邻近区域可很好的解决该问题。
即在形态处理时,根据字符间最大间距等先验知识对形态处理所得个疑似区域进行必要的合并。
图4-13显示合并邻近区域的结果。
图4-13 邻近区域合并的效果4.2.4基于车牌恒定宽高比的后续处理--精确定位运用数学形态学对该图进行处理后,得到多个车牌可能区域。
然后合并邻近区域,再根据车牌的长宽比k恒定等特征,提取出车牌区域。
其中,k值与许多实际因素有关,比如摄像机的物距、拍摄的角度等。
图4-14是的图4-10(a)车牌的精确定位和分割结果。
a.左侧车牌定位b.右侧车牌定位c.定位的左侧车牌d.定位的右侧车牌e.分割出的左侧车牌f.分割出的右侧车牌图4-14 图4-10(a)车牌的精确定位和分割结果图4-15是的图4-12(a)车牌的精确定位和分割结果。
a.定位的车牌b.分割出的车牌图4-15 图4-12(a)车牌的精确定位和分割结果4.2.5 基于颜色的车牌定位由于基于颜色的算法存在以下缺点:车牌有蓝底白字、黄底黑字、黑底白字等多种颜色格式,其中蓝底黑字牌照中的蓝色在各个省之间还有所不同。
而受天气、光照等影响,即便是同种颜色也容易幻化成各种不同的颜色。
因此,彩色信息可靠性较差,如作为主要的定位手段会导致车牌识别系统容易受外界干扰,稳定性较差。
图4-16是的图4-12(a)车牌的精确定位。
a.精确定位b.定位的车牌图4-16 基于颜色的车牌定位虽然如此,但一些地方还可以结合上述基于车牌纹理的定位法达到更好的效果。
4.3车牌预处理4.3.1车牌直方图均衡化方法及结果同4.1.3。
4.3.2基于Radon变换的倾斜校正将所分割车牌归一化,二值化后,为提高边缘的准确性以及抗干扰能力,采用最优的动态阈值canny边缘检测算子。
然后利用Radon变换进行倾斜校正。
图4-17显示了校正结果。
a.原始图像b.分割的车牌c.二值化d.采用canny所得的边缘图像图4-17基于Radon的倾斜校正4.3.3 判定(蓝底白字或者黄底黑字)及二值化原理:①黄底车牌G对B比例在1.2~1.8之间,而蓝底车牌G对B比例,在0.7~1.1之间;②车牌中字符像素占车牌所有像素的比列为0.3~0.4。
图4-18(a、b)显示了判定图4-14(e)(f)及二值化后的结果。
4.4字符的分割4.4.1 垂直投影法图4-18是图4-14(e)(f)左右两车牌二值化及垂直投影后的结果。
a.左车牌b.右车牌c.a 的垂直投影d.b 的垂直投影图4-18左右两车牌二值化及垂直投影后的结果4.4.2 分割字符算法:(1) 确定波谷:从左往右依次读取垂直投影值,先判断出第一个波峰,然后根据一般字符宽度的先验知识,去除伪波谷,找到相应的第一个波谷,这便是一个字符,以此往复,得到所有波谷。
(2) 去除“•”:各波谷间的距离若小于一般字符的最小宽度即可判断为是“•”,舍去。
(3) 取阈值:取所有波谷中的最大值为阈值。
(4) 分割字符:根据最终的阈值进行字符分割。
图4-19是最终的分割结果(以左车牌为例)。
图4-19 分割后的字符五 实验总结车牌自动识别系统一般包括车牌定位、字符分割和字符识别三个模块。
车牌定位很关键,它直接影响着后面两个模块的处理效果字符分割决定了字符识别的有效性字符识别是整个系统的核心,其算法的优劣最终决定了系统的可用性。
针对汽车牌照自动识别系统中图像效果差的问题,采取了降噪和增强处理,并提出了一种基于盲解卷积的图像复原算法,对模糊图像较好地进行了恢复。
然后给出了一种基于纹理、颜色并结合车牌字符间隔、字符宽度等先验知识的车牌定位方法,该方法经边缘检测获取垂直边缘图,结合形态学而粗定位车牌区域,然后根据车牌固有特征(宽高比、颜色等),来筛选出真正的车牌区域。
字符分割时采用投影法,并借助牌照字符固定宽度、间距的固定比例关系等先验知识实现字符的分割。
另外,我们对车辆自动识别系统涉及的相关算法作了深入地分析和比较,提出了自己的部分算法,具体包括基于车牌特征的车牌定位算法、基于Radon变换的车牌校正算法、基于投影特征和车牌先验知识相结合的字符分割算法等。
此外我们还对文中的大部分算法进行了试验,给出了实验结果。
而且,每个过程均考虑了如何对模糊车牌图像和模糊车牌字符进行处理。
最后对车牌识别各个过程进行综合,完成了车牌识别系统的软件实现。
六实验展望本文虽然在车牌识别原理与方法的探索上作了大量的工作,取得了一定的成果。
但是由于时间的限制,本文的研究还存在许多不足和应该改进的地方,后续研究可以从以下几个方面进行完善:(1)字符分割的研究中,对噪声干扰较大的牌照的字符分割的研究还有待于加强。
同时对于字符关键部位的断裂、粘连等,也干扰了对字符关键特征的提取,因此要进一步选择多特征来表征字符。
(2)不管是车牌定位还是字符分割算法,我们总是不可避免的使用一些经验参数来简化问题。
但考虑人眼观察车牌的事实--具有高度的自适应性:人眼的焦距会随物体的远近也随之调整并能轻而易举的定位或者识别车牌。
如何设计一个经验参数完全自适应的智能算法是一个巨大的挑战。
(3)进一步提高现有算法的速度、准确度、鲁棒性。
目前系统对拍摄环境要求较为苛刻,系统的识别率、识别速度也有待提高。
(4)丰富系统各方面的应用功能,如车辆行驶违章监控、监测黑牌机动车等,并将软硬件结合起来,实现一个完整的智能车辆监控系统并把系统应用到实际中去来检验算法的可靠性,让系统脱离实验室的环境,使其不断得到升级和发展。