车辆图像中的车牌定位与字符分割方法解析

合集下载

车牌识别原理

车牌识别原理

车牌识别原理
车牌识别是指通过图像处理和模式识别技术,对车辆的车牌进行自动识别和文字提取的过程。

其原理可以概括为以下几个步骤:
1. 图像预处理:从摄像头获取的图像需要进行预处理,包括去噪、灰度化、二值化等操作。

去噪主要是为了减少图像中的干扰信息,而灰度化和二值化则是将图像转换为黑白二值图,方便后续处理。

2. 车牌定位:在经过预处理后的图像中,需要找到车牌所在的位置。

常用的方法有基于边缘检测、颜色分析和形状匹配等。

边缘检测可以提取图像中的边缘信息,颜色分析可以根据车牌的颜色特性进行筛选,形状匹配可以通过匹配车牌的形状特征来定位。

3. 字符分割:在定位到车牌后,需要将车牌上的字符进行分割。

常见的方法有基于边缘投影和垂直投影的字符分割算法。

边缘投影是通过检测字符边缘的变化情况来实现分割,垂直投影则是通过统计字符列中像素的数量来实现分割。

4. 字符识别:分割后得到的单个字符需要进行识别。

字符识别主要是通过模式识别技术,例如用神经网络、SVM等算法进
行训练和匹配。

训练集中包含了各种不同字符的样本,识别时将样本与待识别字符进行比对,找到最匹配的字符。

5. 结果输出:识别出的字符需要进行校验和整理,确保识别准
确无误。

最后将识别结果输出为文字或数字,用于后续的车辆管理和系统应用。

综上所述,车牌识别主要通过图像预处理、车牌定位、字符分割、字符识别和结果输出等步骤实现对车牌的自动识别和文字提取。

通过不同的算法和技术优化,可以提高识别的准确率和实时性,提升车牌识别系统的性能和可靠性。

车牌的定位与字符分割报告

车牌的定位与字符分割报告

车牌的定位与分割实验报告一实验目的针对交通智能系统所拍摄的汽车图片,利用设定的算法流程,完成对汽车车牌部分的定位,分割车牌部分,并完成字符的分割,以便于系统的后续分析及处理。

二实验原理详见《车牌的定位与字符分割》论文。

三概述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. 读取图⽚,使⽤ cv2 。

2. 将 BGR 图像转为灰度图,使⽤ cv2.cvtColor( img,cv2.COLOR_RGB2GRAY) 函数。

3. 车牌原图尺⼨(170, 722) ,使⽤阈值处理灰度图,将像素值⼤于175的像素点的像素设置为 255 ,不⼤于175的像素点的像素设置为0 。

4.观察车牌中字符,可以看到每个字符块中的每列像素值的和都不为 0 ,这⾥做了假设,将左右结构的省份简写的字也看作是由连续相邻的列组成的,如 “ 桂 ” 。

5. 对于经过阈值处理的车牌中的字符进⾏按列求像素值的和,如果⼀列像素值的和为 0,则表明该列不含有字符为空⽩区域。

反之,则该列属于字符中的⼀列。

判断直到⼜出现⼀列像素点的值的和为0,则这这两列中间的列构成⼀个字符,保存到字典character_dict 中,字典的 key 值为第⼏个字符 ( 下标从0开始 ),字典的value值为起始列的下标和终⽌列的下标。

character_dict 是字典,每⼀个元素中的value 是⼀个列表记录了夹住⼀个字符的起始列下标和终⽌列下标。

6. 之后再对字符进⾏填充,填充为170*170⼤⼩的灰度图(第三个字符为⼀个点,不需要处理,跳过即可。

有可能列数不⾜170,这影响不⼤)。

7. 对填充之后的字符进⾏resize,处理成20*20的灰度图,然后对字符分别进⾏存储。

代码实现:1### 对车牌图⽚进⾏处理,分割出车牌中的每⼀个字符并保存2# 在本地读取图⽚的时候,如果路径中包含中⽂,会导致读取失败。

34import cv25import paddle6import numpy as np7import matplotlib.pyplot as plt8#以下两⾏实现了在plt画图时,可以输出中⽂字符9 plt.rcParams['font.sans-serif']=['SimHei']10 plt.rcParams['axes.unicode_minus'] = False111213# cv2.imread() 读进来直接是BGR 格式数据,数值范围在 0~255 。

车牌图像的字符分割

车牌图像的字符分割
肖投 影 :
由于有些 车牌 是两 行的形 式,所 以首 先 分割出各行文字的上下边界。从 上向下描标 记 像素点和不为零的行第一个像 素点和不为零的 行为第一行字符的上边界;接着向下扫描标记 像素点和再次变为零的行为第 一
行 字 符 的 下 边 界 ; 接 着 向 下 扫 捕 重 复 以 上操作知道全部扫描完毕。
( 3 ) 同样 利 用 me a n函 数 求 出 竖 直 投 影
具体算法流程图如图 4所示。
图 1 : 水 平 投 影
图2 :垂 直投 影
8 8 ・电子技 术与软 件工 程
E l e c t r o n i c T e c h n o l o g y &S o f t w a r e E n g i n e e r i n g
处 理 。 为 了 适 应 字 符 分 割 和 匹 配 识 别 , 还 要将 竖 直 投 影 即 竖 直 方 向 上 的 投 影 是 图 像 各
灰度图进 行二值 化处理 。
行的叠加 ,即图像 行像 素点 的叠加 。投影如 图2 ,图中第一个和最后一个 大 于平均值的峰 值 为车牌 的上边框和下边框的投影值 。
影值 ) 的形态各异 ,变化 很大,波峰和波谷之 间像素值大小存在很大 的差别 这样就可 以利 用求投影平均值 的方法 去除车牌边框 。主要包
括 以下 步 骤 :
首先 将去边 框后 的车 牌 图像反 二值化 , 反二值化后背景像 素值 为零 , 字符像素不为零。
3 . 2 行 分 割
景在智能交通 系统 中,准确 定位车牌 后,字符 分割是下一步字符识别 的前提 ,字符分割的好 坏对字符识别率起着至关重要的作用 。虽然 目 前在 已有的印刷体字符分割技术的基础上 .提

车牌识别中的号码分割方法

车牌识别中的号码分割方法

车牌识别中的号码分割方法刘聪074301027车牌拍照自动识别技术是实现车辆身份自动识别的一种途径。

是近年来计算机视觉与模式识别技术在智能交通领域应用的重要研究课题之一。

因为车辆牌照号码和车辆是一一对应的,如同居民身份证和每个公民的关系一样,因此车辆牌照字符自动识别系统可用于一切需要对车辆进行管理的场合,比如公路收费站、停车场、十字路口等交通关卡等处,对于道路交通、园区和停车场车辆管理具有巨大的经济价值和现实意义。

车牌识别方法可以分为3个部分:车牌定位;车牌字符分割;车牌字符识别.这3部分紧密相关,每一步的输出都将作为下一步处理的输入,因此每一步的精确度都直接影响下一步的工作,从而影响车牌识别的最终结果。

首先要输入原始图像,从原始图像中确定车牌的相对位置,,完成对车牌的倾斜度校正;从提取的图像中切分出单个字符;最后输出车牌号码的字符串。

其中车牌字符的正确分割是进行下一步车牌字符识别的基础,目前常用的方法有如下几种:(1)车牌区域纹理特征的方法。

这种方法是利用车牌区域字符和底色具有不同的灰度特征从而进行边框去除和字符分割的方法。

(2)基于数学形态学的方法。

利用形态学的腐蚀和膨胀,将车牌字符区域组成连通域的方法去除边框,再进一步采用字符连通域的形式进行字符切分。

(3)基于Hough变换的字符分割方法。

还有人完全利用Hough变换,寻找车牌字符的上下边界,再结合车牌字符的排列特征进行字符的分割。

在得到一个或几个车牌区域后,先将其分割为单个的字符,然后进行单个字符的识别.传统的方法是使用投影法进行分割.先统计定位出的车牌区域的直方图,然后将统计值等于。

的几列中的一列作为分割的界限.这种分割方法实现起来比较简单,但是适应性很差,在预处理效果不好的情况下,很难有满足条件的列.而为了获取满足传统方法的条件,只有增加预处理的条件.因此,处理完后的图像不可避免地损失一部分有用信息,为进一步的处理造成不必要的困难,还可能引入额外误差.并且,在车牌倾斜的角度比较大或被拍摄车牌上的字符比较密集时,投影的方法从本质上失去了意义.为了避免上述两种弊端,采用一种新方法分割单个字符.该方法既可从一定程度上消除了预处理效果较差带来的影响,又可从根本上解决了倾斜车牌分割的间题.为了说明该方法的效果,使用了一个有较大倾斜角度的车牌做试验,如图3所示.首先,按照上一个步骤中精确定位车牌位置的方法,确定各个连通区域,去掉矩形区域中一些不可能是字符区域部分,例如宽度过大(约大于1/7车牌)或是连通区域中像素的个过少的区域,然后做出剩余各个连通区域的外接矩形,选取高和宽比值最为接近的4个连通区域,如图d所示.通过研究发现,车牌在正常或倾斜的情况下,(这种倾斜的情况包括车牌本身倾斜或由于拍摄的角度造成的倾斜),车牌上各个字符的顶点实际上是在一条直线上,而大部分的数字、字母的结构是上下、左右基本对称的,所以各个数字和字母的中心也基本在一条直线上.因此,依据各连通区域的信息拟合一条直线可以取各连通区域的中点,也可以取各连通区域的最高和最低点拟合这条直线,在多数情况下,能够得到较好的拟合效果.利用拟合出的1条或2条直线,就能够比较准确地确定车牌上字符的上下边界.图c中所示的2条直线就是利用字符的上边缘和下边缘拟合出来的.假设拟合的直线斜率为k,则所有字符的外接矩形与这条直线的相交角度是相同的.从图d中的4个矩形中任意选取一个,将其假定为字符的大小,然后将这个矩形沿斜率为k的直线来回运动,按照车牌字符分布的特点,这个矩形框应该可以包含每一个字符.由此可提取每一个字符,因为如果将汉字看作连通区域,1个汉字则是由几个连通区域组成,而这个矩形框恰好可以将这些连通区域包含在内.并且像1这个高和宽的比值与其他的字符不同的数字,也能借助拟合的直线解决这一问题.本系统并未对倾斜的字符进行矫正,因为经研究发现,车牌上的字符因倾斜会产生一定程度的变形,但是这种变形并非是在二维空间上产生的.因此对其进行矫正仍有一定的困难.所以,对于倾斜字符的识别,可以通过在下一步中加大训练集解决.。

汽车牌照定位与字符分割的研究及实现

汽车牌照定位与字符分割的研究及实现

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 所示为系统的流程框图:

停车场识别车牌的原理

停车场识别车牌的原理

停车场识别车牌的原理停车场识别车牌是利用计算机视觉技术和图像处理算法来实现的。

下面我们将从图像采集、车牌定位、字符分割、字符识别、比对入库、匹配查询和通道管理等方面来详细介绍停车场识别车牌的原理。

1.图像采集图像采集是停车场识别车牌的第一步。

通常使用高清晰度的摄像头对停车场中的车辆进行拍摄,并获取车辆的图像信息。

在采集图像时,需要注意摄像头的角度和位置,以确保拍摄到的车牌区域清晰可见。

同时,还需要考虑光照条件、车牌所在位置以及车牌区域的背景等因素。

2.车牌定位车牌定位是在图像中确定车牌区域的位置。

首先,可以利用颜色和形状等特征进行初步筛选,排除与车牌无关的区域。

然后,通过车牌的特定形状和字符布局等特点,对筛选后的区域进行进一步的判断和定位。

在实际应用中,车牌定位的精度会受到多种因素的影响,例如光照条件、车牌污损、字符重叠等,这些问题需要算法进行优化和改进。

3.字符分割字符分割是在定位后的车牌区域中对每个字符进行分割。

由于车牌中的字符排列有一定规律,因此可以利用这个特点进行字符分割。

首先,可以通过垂直投影法等算法,将车牌区域中的字符分割成单个字符的候选区域。

然后,利用字符的宽度、高度、倾斜度等特征进行进一步的筛选和确认,排除干扰项,最终得到准确的字符分割结果。

4.字符识别字符识别是将分割后的字符转换成机器可读的字模,并与已知的车牌号码进行比对。

字符识别通常采用深度学习和神经网络等算法来实现。

在训练阶段,利用大量已知的车牌号码数据集进行训练,让模型学会将字符图像转换为数字。

在识别阶段,将分割后的字符输入到已经训练好的模型中进行预测,得到相应的字符编码,再与数据库中的车牌号码进行比对,判断是否匹配。

5.比对入库比对入库是将识别后的车牌信息与数据库中的信息进行比对,实现车辆入库管理。

通常,将识别的车牌号码与数据库中已有的车牌信息进行比对,如果匹配成功,则将车辆信息添加到停车场管理系统中,实现自动化的车辆入库管理。

常用的车牌识别算法

常用的车牌识别算法

常用的车牌识别算法包括以下几种:
1. 车牌定位算法:用于确定车辆图像中车牌的位置。

这种算法通常会使用图像处理技术,如梯度信息投影统计、小波变换、车牌区域扫描连线算法等,以识别图像中的车牌区域。

2. 字符分割算法:在车牌定位后,需要将车牌中的字符进行分割。

这种算法通常会使用图像处理技术和机器学习算法,如基于深度学习的字符分割算法,以准确地将各个字符分割开来。

3. 字符识别算法:用于识别分割后的字符。

这种算法通常会使用机器学习算法,如卷积神经网络(CNN)或循环神经网络(RNN),以对字符进行分类和识别。

4. 神经网络识别算法:大规模神经网络识别算法是一种深度学习算法,它能够同时处理车牌定位和字符识别两个任务,具有更高的准确性和鲁棒性。

5. 启发式车牌定位算法:综合利用了图像处理技术和机器学习算法,以提高车牌定位的准确性。

这种算法通常会使用一些特征选择方法,如SVM、HOG等,以将车牌区域和非车牌区域进行区分。

6. 角度偏差和光照波动控制算法:在车牌定位和字符识别过程中,车辆的角度偏差和光照波动会影响算法的准确性。

这种算法通常会使用一些图像处理技术,如滤波、归一化等,以减小这些因素的影响。

这些算法在车牌识别过程中相互配合,以实现准确的车牌识别。

车牌识别系统中车牌定位与字符分割的研究

车牌识别系统中车牌定位与字符分割的研究

车牌识别系统中车牌定位与字符分割的研究一、本文概述随着科技的发展和智能交通系统的普及,车牌识别系统已经成为了现代交通管理的重要组成部分。

车牌识别系统的核心在于准确、快速地实现车牌的定位与字符分割。

本文旨在深入探讨车牌识别系统中车牌定位与字符分割的关键技术,并分析其在实际应用中的挑战与解决方案。

本文将对车牌识别系统的基本框架进行概述,介绍车牌定位与字符分割在其中的地位和作用。

接着,本文将详细阐述车牌定位技术的发展历程和现状,包括基于颜色、纹理、形状等特征的定位方法,以及近年来兴起的深度学习技术在车牌定位中的应用。

同时,本文还将对字符分割技术的研究现状进行梳理,包括基于投影分析、边缘检测、形态学处理等方法的字符分割算法。

在此基础上,本文将重点分析车牌定位与字符分割在实际应用中面临的挑战,如复杂背景下的车牌定位不准确、字符粘连或断裂导致的分割失败等问题。

针对这些问题,本文将提出相应的解决方案,如通过改进算法提高定位精度、采用多特征融合的方法提高字符分割的鲁棒性等。

本文将通过实验验证所提方法的有效性,并对实验结果进行分析和讨论。

本文还将展望车牌识别系统的未来发展趋势,探讨新技术在车牌定位与字符分割中的应用前景。

通过本文的研究,旨在为车牌识别系统的优化和改进提供有益的参考和借鉴。

二、车牌定位技术研究车牌定位技术是车牌识别系统的关键环节,它涉及从复杂的背景中准确提取出车牌区域。

随着计算机视觉和图像处理技术的不断发展,车牌定位技术也取得了显著的进步。

早期的车牌定位主要基于车牌的颜色和边缘特征。

由于中国车牌通常为蓝底白字,因此可以通过颜色过滤来初步提取出可能的车牌区域。

随后,利用边缘检测算法(如Canny边缘检测)来进一步细化车牌的轮廓,从而实现车牌的粗定位。

然而,这种方法受光照条件、车牌污损等因素影响较大,定位准确性有待提高。

为了克服颜色和边缘特征方法的局限性,研究人员开始尝试基于纹理和形状特征的车牌定位方法。

车牌识别系统中车牌定位及分割技术研究

车牌识别系统中车牌定位及分割技术研究

车牌识别系统中车牌定位及分割技术研究摘要随着经济社会的进展,我国汽车数量,尤其是私家车数量大量增加。

这对交通公共基础设施的建设和与其配套的车辆管理系统提出了更高的要求。

为实现道路交通管理的自动化和车辆行驶的智能化,各类智能交通系统应运而生。

汽车牌照是肯定汽车的有效手腕,因此车辆牌照识别技术在智能交通管理中发挥着基础性的重要作用。

车牌识别技术主要包括以下三个部份:车牌定位技术、车牌的字符分割技术和字符识别技术。

车牌定位的任务就是肯定出车牌在图像中的具体位置;车牌定位是车牌识别系统完成图像收集后对图像进行处置的第一步,分割是对车牌进行识别的基础。

本文的对车牌识别系统中车牌定位及分割研究的大致方式为:第一对图像进行预处置,包括灰度化、维纳滤波去噪和利用边缘检测函数对图像边缘化,再利用Hough变换对图像进行矫正,按照边缘图像的直方图对图像进行切割,提取主要车牌区域。

最后按照主要车牌区域的灰度直方图肯定二值化阈值,按照车牌区域特征对主要车牌区域进行字符图像有效信息的分割。

用MATLAB软件对上述步骤进行仿真,实验结果表明,应用上述方式能够分割出汽车牌照图像的有效信息,而且效果较好。

关键词:图像分割;边缘检测;车牌识别Research on License Plate Localization and Segmentation TechnologyAbstractWith the development of economic society, number of cars in our country, especially the number of private cars has increased a lot。

This have put forward higher requirements for the traffic infrastructure construction and its supporting vehiclemanagement system. In order to realize the road traffic management automation and the vehicle intelligent, intelligent traffic system emerge as the times require. Vehicle license plate is a effectively way to identify the car, thus the vehicle license plate recognition technology plays a fundamental role in intelligent traffic management. License plate recognition technology mainly include three parts,such as the license plate location technology, the character segmentation technology and the character recognition technology. The task of license plate location technology is to determine the specific location in image license. License plate location is the first step. The character segmentation technology is based on license plate recognition. In this paper, the method about license plate recognition system for license plate location and segmentation is, firstly, image preprocessing, including gray-scale, Wiener filter denoise and edge detection function of image edge. Second using Hough transform for image correction, cutting the image according to the histogram of edge of image to extraction of main plate region. Finally, according to the histogram of the gray image of the main plate region to determine the threshold of binarization and according to the characteristics of license plate region to segmentation the effective information of the character image. The experimental results show that, using MATLAB software simulation, application of the method can segment the effective information of the character image in license plate, and the effect is better.Key words: Image segmentation; Edge detection; Vehicle license plate recognition目录摘要 (1)Abstract (2)目录 (4)1 绪论 (5)选题的背景和目的 (5)国内外研究状况 (6)应用范围 (7)本论文内容介绍 (8)2............................................................................................................................................. 车牌图像预处置9车牌区域特征 (9)图像的灰度化 (10)图像的去噪 (12)2.3.1线性低通滤波 (12)2.3.2维纳(Wiener)滤波 (13)边缘检测 (14)2.4.1 Roberts算子 (14)2.4.2 Sobel 算子 (15)2.4.3 P rewitt算子 (15)2.4.4 LOG算子 (16)2.4.5 Canny算子 (17)2.4.6拉普拉斯算子 (17)3倾斜度矫正与车牌区域定位 (20)倾斜度矫正 (20)图像的定位 (26)4 二值化与字符分割 (28)图像的二值化 (28)字符的分割 (31)4.2.1垂直投影分割 (31)4.2.2字符结构特征分割 (33)结论 (36)致谢 (37)参考文献 (38)附录A设计主程序 (39)1 绪论选题的背景和目的随着经济全世界化和信息时期的来临,运算机技术、通信技术和运算机网络技术进展超级迅速,自动化的信息处置能力和水平也在不断提高,并在人们的社会活动和实际生活的各个领域取得普遍应用。

车辆图像中的车牌定位与字符分割方法

车辆图像中的车牌定位与字符分割方法

图 $+
基于灰度方差的二值化
)*!+ $+ ,-.#/%012. %0-*034. 506.7 5*30-*809*:3
$ ! %+
连通域分析提取候选区域 通过在二值图像上搜索连通域, 并根据连通域的
形状特征和近邻连接强度筛选、 合并连通域来提取所 有可能包含车牌的候选区域。 先使用四方向搜索的递归算法获取二值图像上 的所有连通域。 再根据形状特征对连通域进行筛选, 将宽度、 高度、 宽高比、 连通域和外接矩形面积比不符 合车牌或文字特征的连通域剔除。 对于符合条件的连 通域, 将宽度较大、 宽高比较高的判断为 “ 车牌连通 域” , 表示可能包含车牌或车牌的大部分; 将宽度较 小, 宽高比较低的判断为 “ 字符连通域” , 表示可能是 ( 5)所示。 车牌的一个或两个字符, 如图 %
!"#$%&$’()*+$ ),#*+",% *%- #.*/*#+$/ &$01$%+*+",% "% #,1()$2 3$."#)$ "1*0$&’
CD4* E6,@F0,5,G+*H I6/’@J6,5
( G0F/.KL0,K ’- 4(0MK.’,6M 4,56,00.6,5,;36,5NO/ P,6Q0.36KR,S06T6,5 "$$$:% ,CN6,/)
首先采用定位速度快漏检率低的基于水平灰度变化特征的方对输入图像进行二值化将车牌与背景分离再通过连通域分析提取若干车牌候选区域然后利用边缘和颜色特征定位准确的特点对候选区域进行边缘检测和颜色分析精确定位车牌边界最后分析每个候选区域的形状和颜色分布特征在保留车牌区域的基础上尽可能地剔除伪车牌区

车牌识别中的图像定位及分割方法

车牌识别中的图像定位及分割方法
1.图像预处理 (1)图像二值化 在车牌识别系统中,由于光照的变化、 车辆自身的运动、图像采集设备本身的因 素等,都会引起车牌图像的退化,干扰了 车牌的信息提取。所以为了改善退化了的 车牌图像质量,必须对图像进行预处理。 预处理的作用是突出图像中的有用信息。 图像预处理通常采用的方法是图像增强, 将图像中感兴趣的特征有选择地突出,而 衰减其不需要的特征。 对获取的车牌图像进行二值化处理后, 字符前景和车牌背景就由黑白两种颜色分 开,有利于后续车牌区域的定位。选择不 同的阈值会得到不同的分离结果。 由灰度级直方图确定全局阈值的方法 简单易行,效果明显(见图1)。
2、婚纱大多为抹胸式、坦肩式、居 多,袖大多为合体袖。因此,袖窿处无需留 过多松量,可在外衣基本型的基础上上抬1cm 左右,肩省在婚纱中已失去了它的作用。可 按肩宽直接去除肩省量,并减小胸宽,背宽 量。(如图一)
3、为了更符合胸部造型,为了使胸 口、袖窿更合体,在前袖窿处合并转移 0.7cm左右的量,从而前腰省变大,一般为 9.5~11.5cm,我国人体从9.5~10.5cm而外 衣基本型前腰省大多为6.5cm。(如图二)
1、婚纱上身大多为紧身合体的服装, 且装饰性较强,强调胸腰造型。上身要起 到支撑形体的作用,而女装基本型纸样多 用于制作外衣,属半紧身状态的服装,我 们用半紧身式的女装基本纸样来套取婚纱
上身纸样,关键是要将胸围线及其附近的 放松量全部去除,使婚纱上身完全合体, 应采用人体测量的净尺寸而不留放松量来 制作婚纱基本型。(如图一)
【关键词】人体;着装状态;婚纱基本型;女装基本型
随着生活水平的提高,人们追逐时尚 的脚步也越来越快,新人对结婚礼服亦有 更高的期待和要求,大多新人在选购了传统 婚礼服后,还会采购一款西式婚纱。通过婚 礼服需求问卷调查:49.5%的人愿意购买, 38.2%的人租用,12.3%的人自己制作。因 此,婚纱市场需求量越来越大,婚纱的成 衣率在逐步上升,婚纱的生产与销售成为众 多企业追逐的热点。而纸样的好坏直接影响 婚纱成衣的品质,有着举足轻重的作用。

车牌字符识别与分割

车牌字符识别与分割

一、实验目的:使用matlab软件提取出给定图像中的字符区域,或分割出各个字符二、设计方案:一个完整的车牌识别系统闭应包括车辆检测、图像采集、图像预处理、车牌定位、字符分割、字符识别等单元。

当车辆到达触发图像采集单元时,系统采集当前的视频图像。

车辆识别单元对图像进行处理,定位出牌照位置,再将车牌中的字符分割出来进行识别,然后组成车牌号码输出。

车牌识别系统原理如图l所示。

图1 车牌识别系统原理图(1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。

(2)车牌定位:从预处理后的汽车图像中分割出车牌图像。

即在一幅车辆图像中找到车牌所在的位置。

(3)字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像(4)字符识别:对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌号码。

为了用于牌照的分割和牌照字符的识别,原始图象应具有适当的亮度,较大的对比度和清晰可辩的牌照图象。

但由于车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离和角度以及车辆行驶速度等因素的影响,牌照图象可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图象进行识别前的预处理。

牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。

由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的准确性。

因此,需要对字符在识别之前再进行一次针对性的处理。

车牌识别的最终目的就是对车牌上的文字进行识别。

汽车车牌自动定位与字符分割

汽车车牌自动定位与字符分割

汽车车牌自动定位与字符分割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。

车牌识别算法详细设计

车牌识别算法详细设计

车牌识别算法详细设计首先是车牌定位。

车牌定位的目标是从图像中准确地定位出车牌的位置。

这一步骤主要包括图像预处理、边缘检测和车牌区域定位三个过程。

图像预处理主要是对原始图像进行增强和去噪处理,以提高车牌的显著性。

常用的预处理方法包括灰度化、直方图均衡化、高斯模糊等。

边缘检测是通过检测图像中的边缘信息,找出可能是车牌边缘的区域。

常用的边缘检测算法有Sobel算子、Canny算子等。

通过边缘检测,可以找到一些具有明显边缘的区域。

车牌区域定位是通过对边缘信息进行处理,找出符合车牌特征的区域。

一般可以通过设定一些阈值和条件,来选择符合车牌尺寸和形状的区域。

可以使用像素连通分量、形状检测等方法来进行车牌区域的定位。

接下来是字符分割。

字符分割的目标是将定位到的车牌区域分割成单个字符。

这一步骤主要包括二值化、字符连接和字符分割三个过程。

二值化是将车牌区域的图像转换为二值图像,以便进一步处理。

可以使用灰度阈值分割或基于颜色的分割方法进行二值化处理。

字符连接是通过连接相邻的字符轮廓,将字符的各个部分连接起来,形成完整的字符。

常用的字符连接方法有连通区域分析、基于宽度的字符连接等。

字符分割是通过对连接后的字符进行切割,将字符分割成单个的字符。

可以使用统计特征、基于距离的分割等方法进行字符的分割。

最后是字符识别。

字符识别的目标是对分割出的单个字符进行识别。

这一步骤主要包括特征提取和分类识别两个过程。

特征提取是从分割出的字符图像中提取出有区分度的特征,以供后续的分类识别使用。

常用的特征提取方法有灰度共生矩阵、梯度直方图、字母轮廓等。

分类识别是将提取出的特征与已知字符模板进行比较,找到最相似的字符进行识别。

常用的分类识别方法有模板匹配、神经网络、支持向量机等。

综上所述,车牌识别算法主要包括车牌定位、字符分割和字符识别三个步骤。

这些步骤通过一系列的图像处理和特征提取方法,对车牌图像进行处理和分析,并最终实现车牌的识别和提取。

一种车牌字符定位及分割方法

一种车牌字符定位及分割方法

一种车牌字符定位及分割方法一、车牌字符定位及分割的重要性咱都知道车牌在交通管理啥的方面超级重要,就像人的身份证一样呢。

那要对车牌进行各种处理,这字符定位和分割就是很关键的第一步啦。

你想啊,如果这个都搞不定,后面想要识别车牌上的字,那根本就无从谈起呀。

比如说在停车场管理系统里,要准确知道进来的车是谁的,就得先把车牌的字符定位好、分割开,这样才能进一步处理。

又或者在马路上的交通监控里,这也是很必要的操作哦。

二、现有的一些思路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。

使用计算机视觉技术进行车牌识别的技巧与方法

使用计算机视觉技术进行车牌识别的技巧与方法

使用计算机视觉技术进行车牌识别的技巧与方法随着计算机视觉技术的快速发展,车牌识别成为了一个重要的应用领域。

车牌识别技术可以应用于交通管理、停车场管理、违章监控等领域,极大地提高了工作效率和安全性。

在本文中,我们将介绍一些使用计算机视觉技术进行车牌识别的技巧与方法。

1. 图像预处理在进行车牌识别之前,首先要对图像进行预处理。

这一步骤有助于提高后续识别的准确性。

常见的图像预处理方法包括图像增强、降噪和灰度化。

图像增强可以通过调整图像的亮度、对比度和色彩来增强图像的清晰度。

降噪可以通过滤波器来减少图像中的噪声,例如使用高斯滤波器或中值滤波器。

将图像转换为灰度图像有助于简化后续的图像处理,可以通过将RGB图像的三个通道取平均值来实现。

2. 车牌定位车牌定位是车牌识别的第一步,它的目标是从整个图像中准确地定位车牌区域。

常见的车牌定位方法有基于颜色的定位和基于边缘检测的定位。

基于颜色的定位方法通过提取车牌的颜色特征来定位车牌区域。

车牌一般都具有特定的颜色,例如蓝色、黄色等。

可以通过设置阈值来提取出与车牌颜色相似的区域,并通过形态学操作来进一步优化车牌的定位结果。

基于边缘检测的定位方法则通过检测图像中的边缘来定位车牌区域。

常见的边缘检测算法包括Sobel算子、Canny算子等。

通过检测到的边缘,我们可以确定车牌区域的大致位置,并进一步优化定位结果。

3. 字符分割在车牌定位之后,下一步就是对车牌进行字符分割。

字符分割的目标是将车牌上的字符区域从整个车牌图像中分割出来。

字符分割的准确性对于后续的字符识别至关重要。

字符分割可以通过基于投影的方法来实现。

投影法是将图像在水平或垂直方向上的亮度分布投影到一维空间中,然后通过分析投影图像的峰值和谷值来进行字符分割。

另一种常见的字符分割方法是基于连通区域的方法。

通过将连通区域分析应用于字符区域,我们可以将字符从车牌图像中分割出来。

连通区域分析可以通过计算连通区域的宽度、高度和长宽比来判断是否为字符区域。

车辆图像的车牌字符分割方法设计与实现

车辆图像的车牌字符分割方法设计与实现

车辆图像的车牌字符分割方法设计与实现Design and Implementation Method of Vehicle License Plate Character ImageSegmentation摘要随着社会的发展,车辆将越来越多,为了更好地管理车辆,智能交通系统将是发展的方向,而车牌自动识别系统是智能交通系统中一个重要的环节,它主要包括三个关键技术:车牌定位、车牌字符分割以及车牌字符识别。

本文针对车牌自动识别系统中关键技术之一的车牌字符分割部分做了深入的研究。

首先,本文对车牌字符分割前的预处理进行了较深入研究,尤其是车牌图像二值化后的去噪处理,包括开闭运算、去除边缘、去除圆点等.其次,在字符分割算法中,给出两种分割算法,一种是固定边界法,另一种是垂直投影法,并对车牌字符进行了分割。

然后,在分析了这两种方法的优缺点后,将这两种方法相结合进而得到改进的投影法,实验表明,就算是在除噪后仍然有少量噪声的车牌进行分割时,该方法也可以得到很好的字符分割效果。

关键词:字符分割;二值化;投影法AbstractThere will be more and more cars with the development of society. Intelligent Transport System will be the direction of development。

System of License Plate Automatic Recognition is an important part of the Intelligent Transport System。

It is contain of three key technologies: the location of license plate,the division of license plate character and the recognition of license plate character。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

复杂车辆图像中的车牌定位与字符分割方法作者:作者单位:刊名:英文刊名:年,卷(期:被引用次数:陈寅鹏,丁晓青清华大学,电子工程系,北京,100084 红外与激光工程 INFRARED AND LASER ENGINEERING 2004,33(1 38次参考文献(6条 1.Kamat V.Ganesan S An efficient implementation of the Hough transform for detecting vehicle license plates using DSP'S 1995 2.Paolo Comelli.Paolo Ferragina.Mario Notturno Granieri Optical recognition of motor vehicle license plates 1995(04 3.Yu Zhong.Kalle Karu Locating text in complex color images 1995(10 4.Sang Kyoon Kim.Dae Wook Kim.Hang Joon Kim A recognition of vehicle license plate using a genetic algorithm based segmentation 1996 5.Lee E R.Kim P K.Kim H J Automatic recognition of a car license plate using color image processing 1994 6.Li C.Ding X.Wu Y Automatic text location in natural scene images 2001 相似文献(10条 1.学位论文张宇车牌识别系统中车牌定位与字符分割方法的研究 2009 车牌识别系统是智能交通系统的重要组成部分,可用于公路电子收费、出入控制和交通监控等众多场合。

车牌识别系统主要包括车牌定位、字符分割和字符识别三火部分。

其中,车牌定位和字符分割的结果对后续成功识别字符起决定性作用。

本文在总结近年来国内外在车牌定位和字符分割领域的最新研究成果的基础上,对车牌定位及字符分割的算法进行了深入的研究。

在车牌定位时,首先对图像HSI空间的亮度分量均衡化,这样既提高了图像的亮度适用范围又不影响颜色信息。

接着利用车牌图像中字符颜色和车牌底色具有固定颜色搭配这一规律,在HSI空间中根据颜色,搜寻符合字符颜色与车牌底色搭配规律的像素点作为颜色对特征点。

然后使用动态算子进行数学形态学处理,根据车牌的形状特征,对逐行扫描得到的待定车牌区域进行分析,最后得到类车牌区域。

在字符分割之前,需要对类车牌区域进行倾斜校正,本文提出了一种针对颜色对特征点区域进行主成分分析的车牌水平校正方法。

该方法通过对车牌图像中颜色对特征点区域采样进行主成分分析,求出车牌水平方向的倾斜角度,在旋转校正时又加以填充处理,保证了图像的信息完整性。

在字符分割阶段,首先通过特征点区域的形状特征精确定位车牌区域;接着通过灰度化、灰度拉伸、二值化、边缘化等处理,进一步精确定位字符区域。

二值化的过程中针对不同颜色的车牌选取了最适合的阈值算法。

然后根据字符尺寸特征提出动态模板法进行字符分割,并将字符大小进行归一化处理。

最后使用C语言构建了车牌定位与字符分割系统软件。

该软件包含上述的车牌定位、校正和分割等所有步骤。

通过大量的图片试验,特别是对存在大量干扰、光线不足及多车牌等图片的处理结果表明,本文所提出的车牌定位与字符分割算法,抗干扰能力强,实时性和稳定性好,为后续的字符识别创造了有利条件。

2.学位论文陈勇车牌定位和字符分割算法的研究与实现 2006 随着科学技术的发展,社会信息化程度的日益提高,交通管理智能化已成为发展的趋势。

车辆牌照识别系统的研制与开发,是影响交通系统智能化、现代化的重要因素,而车牌定位和字符分割是车牌识别中最为关键的两项技术,对整个系统的性能起着至关重要的作用。

本文在详细研究国内外各种代表性车牌定位算法的基础上,提出了一种三级定位算法。

首先基于图像能量特征对车牌区域进行粗定位,得到一组候选区域。

然后基于字符纹理特征分析对车牌候选区域进行筛选,得到车牌区域,并运用数学形态学方法对区域作二次定位。

接着利用牌照的颜色信息对定位的结果作最后的修正。

车牌倾斜、噪声、边框和铆钉以及光照不均等问题给车牌字符的分割带来了很大困难。

本文提出了一种边缘自适应滤波的牌照图像增强算法,有效抑制了噪声对字符边缘信息的干扰。

并对牌照图像的二值化方法进行了比较研究。

创新的提出了基于字符纹理区域边界检测的车牌倾斜校正算法,解决了长期以来车牌倾斜校正适应性差、精确度低的难题。

对字符笔划的平滑处理进行了改进,有效提高了平滑的适应性。

并对字符切分的算法进行了讨论。

在研究的基础上,设计和实现了车牌定位和字符分割软件模块,并对车牌定位和字符分割算法进行了测试。

车牌定位的准确率达到96.5﹪,错误率 1﹪,失败率2.5﹪;字符分割的车牌正确率达到93.45﹪,字符正确率达到98.25﹪。

实验结果表明,本文的车牌定位和字符分割算法具有较好的实用性和鲁棒性,并已在实际的工程中得到了应用。

3.学位论文刘鹏复杂背景下车牌定位与字符分割算法研究 2007 随着我国公路交通事业的迅猛发展,智能交通系统已经成为人们关注的焦点问题。

车牌识别技术是智能交通领域的重要课题之一,它主要包括车牌定位、字符分割、字符识别三个部分。

其中,车牌定位与字符分割算法的处理效果对字符识别起着决定性的作用。

虽然车牌识别技术的研究已经有一段时间,但现有的车牌定位算法环境适应性差,在复杂背景下存在着定位困难的问题;字符分割算法在图片噪声较大情况下分割效果也不理想,因此车牌定位和字符分割算法的研究仍有着很深的现实意义。

本文在简要介绍国内外车牌识别技术研究现状的基础上,对车牌定位算法及字符分割算法进行了深入的研究,主要完成以下工作:车牌的定位算法设计阶段,本文提出了一种综合利用车牌多重特征的定位算法。

该算法充分利用了车牌的纹理,色彩及车牌长宽比等特征。

经过水平梯度化,二值化,滤波,区域连通、连通域标记筛选,色彩匹配等几个步骤,最终达到了复杂背景下汽车牌照的定位。

在滤波阶段,本文设计了一种基于扫描线的多尺度模板滤波算法,收到了很好的效果。

实验结果表明本文设计的定位算法在复杂的背景下定位速度快,准确率高。

字符分割方法方面,根据车牌字符的排列规律和字符的几何特征,设计了一种混合字符分割算法,该方法综合了传统的几种分割算法。

首先利用二、三字符间波谷长并且二三字符水平方向连通的特性,初步确定前三个字符的匹配模板,并利用最大类间方差的思想计算出车牌准确的分割模板,最终实现了车牌字符的准确分割。

4.学位论文王晓健车牌定位与字符分割算法研究及实现2009 车牌识别LPR(License Plate Recognition)是指通过计算机视觉、图像处理与模式识别等技术从车辆图像中提取车牌字符信息,从而确定车辆身份的技术。

车牌识别系统是智能交通系统ITS(Intelligent Transportation System)的一个重要组成部分,在公共安全、交通管理、流量观测及电子收费等方面有着重要的应用价值。

车牌识别主要包括车牌定位、字符分割和字符识别三大部分。

本文就车牌定位和字符分割这两个问题进行了深入的研究。

针对车牌定位问题,本文提出了一种基于窗口搜索的车牌定位算法。

算法分为粗定位和细定位两个过程。

粗定位利用了车牌区域垂直方向的点密集分布的特征,基于垂直方向跳变点图统计固定大小窗口内的特征点数目,以此来确定初步的车牌候选区域。

细定位利用了车牌字符的排列信息,采用行扫描算法来度量车牌外侧区域与车牌区域间的间隔,以此来扩展候选区域,精确定位车牌边界。

对于倾斜的车牌图像,文章研究了一种基于旋转图像水平投影的车牌倾斜检测方法,该方法具有检测角度准确、校正时间短的优点。

字符分割是车牌识别的关键步骤,是字符识别的基础。

本文根据车牌字符的先验几何知识以及排列规则,基于垂直投影进行字符分割,有效地提取出车牌字符的单个图像。

同时,文章提出了一种基于类Haar特征的伪区域去除算法,能够有效地去除伪区域的干扰。

本文算法对车牌在图像中的位置及车牌大小没有限制,对牌照的倾斜、变形,字符的污染、模糊有较强的抗干扰能力,能达到较好的车牌定位与字符分割效果,具有一定的鲁棒性和实时性。

5.学位论文黄骥汽车牌照识别系统中车牌定位与校正及字符分割的研究 2007 汽车牌照识别系统是智能交通系统的核心部分,可用于公路电子收费、出入控制和车流监控等众多场合,它主要包括车牌定位、校正、字符分割和识别四个部分。

其中,车牌的定位、校正和分割对后续的字符识别有重要影响。

本文在总结近年来国内外在车牌定位、校正和分割领域的最新研究进展的基础上,对车牌定位、校正及分割的算法进行了系统的研究。

在车牌定位上,利用了车牌图像中字符和底色具有固定颜色搭配这一规律,首先在色度饱和度亮度空间(HSV空间)中判断颜色,搜寻符合车牌底色与字符颜色搭配规律的像素点作为颜色对特征点;然后利用数学形态学进行处理,根据车牌上字符的纹理特征,对每行上的连通线段进行分析和排除;接着对各行保留下的连通线段进行合并以确定车牌位置;最后通过车牌区域扩张得到完整的车牌图像。

在车牌校正中,针对车牌边框对结果影响较大的问题,本文提出了一种基于颜色对特征点主成分分析的车牌水平倾斜校正方法。

该方法通过对车牌图像中的颜色对特征点进行主成分分析以求出车牌水平倾斜方向并予以校正。

水平校正之后又完成了垂直校正并确定了车牌的上下和左右边界位置。

在字符分割阶段,经过二值化、反色和滤波去噪等预处理之后再借助相关的投影信息和先验知识来确定每个字符的分割位置,并针对粘连字符进行了简单而有效的处理。

最后,用VC++编程构建了车牌定位与校正及字符分割系统的软件平台。

该平台包含了上述的车牌定位、校正和分割等所有步骤。

对实际获取的车牌进行了大量实验,获得了令人满意的结果,为后续的字符识别创造了条件。

6.学位论文宋晨光车牌定位与字符分割算法研究 2005 本文较深入地研究了车辆牌照自动识别系统,该系统利用图像处理、数字形态学和模式识别等技术对多种情况下的车辆牌照图像进行识别,可用于很多需要对车辆进行管理的场所。

车牌自动识别系统与传统的车辆管理方法相比,它大大地提高了工作效率,节省了人力、物力。

实现了车辆的科学化、规范化管理,同时对交通治安起着一定的保障作用,因此有着广泛的应用前景。

车牌自动识别系统由车牌图像的采集、车牌自动识别、数据库管理以及网络数据传输四个部分组成。

相关文档
最新文档