关于车牌定位的一些算法
- 格式:doc
- 大小:933.50 KB
- 文档页数:11
一种复杂环境中的车牌定位算法车牌定位是智能交通系统中重要的一环,它是车辆识别系统的关键步骤。
然而,在复杂环境中,如光线不均匀、天气恶劣或者车辆位置和角度变化较大时,车牌定位变得尤为困难。
因此,为了提高车牌定位的准确性和鲁棒性,在这种复杂环境下,可以采用以下算法。
首先,可以通过颜色特征进行车牌定位。
车牌通常具有特定的颜色,例如蓝色、黄色或者绿色等。
因此,可以使用颜色分割算法来提取图像中的车牌区域。
该算法首先根据颜色阈值将图像分割为不同的颜色区域,然后通过形态学操作来滤除小的非车牌区域。
最后,根据车牌的特定形状和比例进行筛选和检测。
其次,可以利用边缘检测算法来进行车牌定位。
边缘检测可以识别图像中的边缘信息,而车牌通常具有较为明显的边缘。
可以采用经典的边缘检测方法,如Canny算子,对图像进行边缘提取。
然后,根据车牌的特定形状和比例进行车牌候选区域的筛选。
此外,可以采用模板匹配的方法进行车牌定位。
模板匹配是一种基于相似度的匹配算法,可以在复杂背景下识别车牌。
首先,需要采集车牌图像的样本,然后使用特定的特征提取算法,如卷积神经网络(CNN),将车牌样本转换为特征向量。
接下来,对于待检测图像,也使用同样的特征提取算法,将图像转换为特征向量。
最后,通过计算图像特征向量与车牌样本特征向量之间的相似度来判断是否为车牌区域。
最后,可以结合多种算法进行车牌定位。
由于复杂环境下的车牌定位问题具有较高的难度,单一算法往往无法满足要求。
因此,可以采用多种算法的组合,例如,先通过颜色分割算法提取初始车牌区域,然后再使用边缘检测和模板匹配算法进行进一步的筛选和确认。
综上所述,复杂环境中的车牌定位算法可以结合颜色分割、边缘检测、模板匹配等多种方法。
同时,对于车牌定位的准确性和鲁棒性,还需要考虑光照变化、天气条件等因素,并采用适当的预处理和参数调整方法来提高算法的性能。
近年来,智能交通系统(ITS)越来越受到人们的重视在车牌识别中,车牌自动识别系统作为核心部分之一应用已经越来越普及。
车牌识别系统主要分车牌定位、字符切分和字符识别三部分,而车牌定位又是系统中最重要的步骤,定位的成功与否以及定位的准确程度将会直接决定后期能否进行车牌识别以及识别的准确度。
文中利用MATLAB进行分析与仿真。
MATLAB是一种简单,高效、功能强大的高级语言,在科学与工程计算领域有着广泛的应用前途。
在数字图像处理领域,可应用MATLAB数字图像处理技术进行系统分析与设计。
本文要讨论的是对彩色车牌图像进行包括灰度化、二值化、图像增强、边缘检测的预处理,之后进行区域提取来实现对车牌的初定位。
借助MATLAB编程语言在仿真过程中分析现有算法并加以改进。
1 车牌定位中的基本理论与算法1.1图像灰度化彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。
经过灰度变换后,像素的动态范围增加,图像的对比度扩展,使图像变得更加清晰、细腻、容易识别。
在车牌识别中要利用灰度分布的特征进行进一步的分割、识别,因此对车牌图像进行灰度化成为车牌定位的必要步骤之一。
1.2图像二值化二值图像是指整幅图像画面内仅黑、白二值的图像。
在实际的车牌处理系统中,进行图像二值变换的关键是要确定合适的阀值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。
车牌识别系统要求处理的速度高、成本低、信息量大,采用二值图像进行处理,能大大地提高处理效率。
如果图像中某中像素的灰度值小于该阈值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。
阈值处理的操作过程是先由用户指定或通过算法生成一个阈值,常用的二值化方法有直方图统计法、固定门限法、动态阈值法、松弛法、抖动矩阵二值化法等。
车牌识别(⼀)-车牌定位在对车牌识别过程中,常⽤的⽅法有:基于形状、基于⾊调、基于纹理、基于⽂字特征等⽅法。
⾸先基于形状,在车牌中因为车牌为形状规格的矩形,所以⽬的转化为寻找矩形特征,常常是利⽤车牌长宽⽐例特征、占据图像的⽐例等。
基于⾊调,国内的车牌往往是蓝底⽩字,可以采⽤图像的⾊调或者饱和度特征,进⼊⽣成⼆值图,定位车牌位置。
基于纹理特征⾃⼰还没有基础到。
基于⽂字特征往往是根据⽂字轮廓特征进⾏识别,原理是基于相邻⽂字轮廓特征、⽐例进⾏定位车牌位置。
⼀、图像⼆值化正如前⾯⽂章所⾔,⾸先进⾏获取图像⼆值化特征,本⽂采取了根据图像亮度特征,提⾼对⽐度,进⾏可以清晰获取⽂字的图像,为下⼀步的⽂字轮廓识别打好基础。
1.1 算法流程伪代码1、图像转化为HSV图像,获取V通道图像2、提⾼对⽐度3、V图像⾼斯滤波,去除噪声4、图像⼆值化程序源码:def get_colorvalue(image):height, width, shape = image.shapeimage_hsv = np.zeros((height,width), np.uint8)image_hsv = cv2.cvtColor(image, cv2.COLOR_RGB2HSV)image_hue, image_saturation, image_value = cv2.split(image_hsv)return image_valuedef enhance_contrast(image):kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3,3))img_tophat = cv2.morphologyEx(image, cv2.MORPH_TOPHAT,kernel)img_blackhat = cv2.morphologyEx(image, cv2.MORPH_BLACKHAT, kernel)image_plus_tophat = cv2.add(image, img_tophat)image_plus_blackhat_minus_blackhat = cv2.subtract(image_plus_tophat, img_blackhat)return image_plus_blackhat_minus_blackhatdef preprocess(srcimage):image_value = get_colorvalue(srcimage)image_enhance = enhance_contrast(image_value)image_blur = cv2.GaussianBlur(image_enhance, (5,5), 0)# _, image_binary = cv2.threshold(image_blur, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)_, image_binary = cv2.threshold(image_blur, 100, 255, cv2.THRESH_BINARY )cv2.imwrite('image_binary.png',image_binary)return image_binary1.2 算法分析在实验中在获取通道图像时,发现可以利⽤图像饱和度图像进⾏定位。
常用的车牌识别算法包括以下几种:
1. 车牌定位算法:用于确定车辆图像中车牌的位置。
这种算法通常会使用图像处理技术,如梯度信息投影统计、小波变换、车牌区域扫描连线算法等,以识别图像中的车牌区域。
2. 字符分割算法:在车牌定位后,需要将车牌中的字符进行分割。
这种算法通常会使用图像处理技术和机器学习算法,如基于深度学习的字符分割算法,以准确地将各个字符分割开来。
3. 字符识别算法:用于识别分割后的字符。
这种算法通常会使用机器学习算法,如卷积神经网络(CNN)或循环神经网络(RNN),以对字符进行分类和识别。
4. 神经网络识别算法:大规模神经网络识别算法是一种深度学习算法,它能够同时处理车牌定位和字符识别两个任务,具有更高的准确性和鲁棒性。
5. 启发式车牌定位算法:综合利用了图像处理技术和机器学习算法,以提高车牌定位的准确性。
这种算法通常会使用一些特征选择方法,如SVM、HOG等,以将车牌区域和非车牌区域进行区分。
6. 角度偏差和光照波动控制算法:在车牌定位和字符识别过程中,车辆的角度偏差和光照波动会影响算法的准确性。
这种算法通常会使用一些图像处理技术,如滤波、归一化等,以减小这些因素的影响。
这些算法在车牌识别过程中相互配合,以实现准确的车牌识别。
车牌识别算法原理
车牌识别算法的原理大致可以分为以下几个步骤:
1. 图像预处理:将原始图像进行灰度化、二值化、去噪等操作,得到能够进行后续处理的图像。
2. 车牌定位:利用图像处理技术将车牌从图像中定位出来。
常用的技术包括边缘检测、色彩定位、形状分析等。
3. 车牌字符分割:将定位到的车牌图像分割成独立的字符图像,常用的技术包括投影法、边缘分割法、基于颜色的分割法等。
4. 字符识别:利用机器学习算法或人工神经网络等技术,对车牌上的字符进行识别。
常用的算法包括支持向量机(SVM)、卷积神经网络(CNN)等。
5. 最终校验:将识别出来的车牌号码与数据库中的车牌号码进行匹配校验,确保识别结果的准确性。
以上就是车牌识别算法的基本原理,不同的算法可能会注重不同的环节和技术手段,但总体上都会按照这个基本流程进行处理。
车牌定位与车牌字符识别算法的研究与实现一、本文概述随着智能交通系统的快速发展,车牌识别技术作为其中的核心组成部分,已经得到了广泛的应用。
车牌定位与车牌字符识别作为车牌识别技术的两大关键环节,对于实现自动化、智能化的交通管理具有重要意义。
本文旨在探讨和研究车牌定位与车牌字符识别的相关算法,并通过实验验证其有效性和可行性。
本文首先对车牌定位算法进行研究,分析了基于颜色、纹理和边缘检测等特征的车牌定位方法,并对比了各自的优缺点。
随后,本文提出了一种基于深度学习的车牌定位算法,通过训练卷积神经网络模型实现对车牌区域的准确定位。
在车牌字符识别方面,本文介绍了传统的模板匹配、支持向量机(SVM)和深度学习等识别方法,并对各种方法的性能进行了比较。
在此基础上,本文提出了一种基于卷积神经网络的字符识别算法,通过训练模型实现对车牌字符的准确识别。
本文通过实验验证了所提出的车牌定位与车牌字符识别算法的有效性和可行性。
实验结果表明,本文提出的算法在车牌定位和字符识别方面均具有较高的准确率和鲁棒性,为车牌识别技术的实际应用提供了有力支持。
本文的研究不仅对车牌识别技术的发展具有重要意义,也为智能交通系统的进一步推广和应用提供了有益参考。
二、车牌定位算法的研究与实现车牌定位是车牌字符识别的前提和基础,其主要任务是在输入的图像中准确地找出车牌的位置。
车牌定位算法的研究与实现涉及图像处理、模式识别等多个领域的知识。
车牌定位算法的研究主要集中在两个方面:一是车牌区域的粗定位,即从输入的图像中大致找出可能包含车牌的区域;二是车牌区域的精定位,即在粗定位的基础上,通过更精细的处理,准确地确定车牌的位置。
在车牌粗定位阶段,常用的方法包括颜色分割、边缘检测、纹理分析等。
颜色分割主要利用车牌特有的颜色信息,如中国的车牌一般为蓝底白字,通过颜色空间的转换和阈值分割,可以大致找出可能包含车牌的区域。
边缘检测则主要利用车牌边缘的灰度变化信息,通过算子如Canny、Sobel等检测边缘,从而定位车牌。
第三章车牌定位3.1车牌定位的主要方法所谓车牌定位算法是指在实际拍摄的图像中确定车牌区域的位置以便提取分割出车牌区域图像的问题。
牌照的快速准确定位是车牌自动识别技术中非常关键的一步,是典型的图像分割问题,因此定位方法与车牌特征和图像处理技术是分不开的。
经典的车牌定位分割算法包括从简单的灰度阈值方法、频域和空间分割方法到复杂的连接元素方法以及Hough变化法等,在背景较复杂和光照不均匀条件下,这些方法难以取得令人满意的分割效果。
近年来,人们针对这种情况,提出了各种各样的定位算法。
目前没有一个标准图像数据库来评价无限制条件车牌定位算法的性能,这个问题的研究目前刚刚起步。
3.1.1基于直线检测的方法这类方法一般采用Hough变化等方法来检测直线(车牌周围边框形成)。
利用车牌形状特性来定位车牌,在实际运用中忧郁光照不均匀等影响和摄像机畸变,曝光不足和动态范围太窄等原因,导致图像存在伪影,加上车牌上的灰尘、脏污等使形状特性表现的不明显,从而影响定位效果,此外传统的Hough变换法应用在车牌定位中,只是单纯的进行直线的检测,没有和车牌形状特性结合起来,而且Hough空间与原图像空间不是一一对应的,由Hough 空间中检测到的特征点无法确定出车牌轮廓的起始位置,无法避免直线干扰的问题,因此在有直线干扰时及未进行边框提取时的可能性会大大增加。
Hough变化计算量较大,对于边框不连续的实际车牌,需要附加量加大的运算。
3.1.2 基于阈值化的方法图像经过阈值化得到一个字符和背景分离的二值图像是这类方法的特点。
目前已经提出了多种阈值化策略,但简单算法二值化效果不好,复杂算法计算时间长、计算量大限制了实际应用。
3.1.3 基于灰度边缘检测方法此类方法通常利用车牌区域局部对比度明显和灰度有规律变化的纹理特征来定位。
中国车牌类型较多,在不同光照条件下车牌对比度更加不一,需要进行图像增强处理,还要考虑图像中与车牌特征非常相似的非车牌区域的排除问题。
车牌识别算法详细设计首先是车牌定位。
车牌定位的目标是从图像中准确地定位出车牌的位置。
这一步骤主要包括图像预处理、边缘检测和车牌区域定位三个过程。
图像预处理主要是对原始图像进行增强和去噪处理,以提高车牌的显著性。
常用的预处理方法包括灰度化、直方图均衡化、高斯模糊等。
边缘检测是通过检测图像中的边缘信息,找出可能是车牌边缘的区域。
常用的边缘检测算法有Sobel算子、Canny算子等。
通过边缘检测,可以找到一些具有明显边缘的区域。
车牌区域定位是通过对边缘信息进行处理,找出符合车牌特征的区域。
一般可以通过设定一些阈值和条件,来选择符合车牌尺寸和形状的区域。
可以使用像素连通分量、形状检测等方法来进行车牌区域的定位。
接下来是字符分割。
字符分割的目标是将定位到的车牌区域分割成单个字符。
这一步骤主要包括二值化、字符连接和字符分割三个过程。
二值化是将车牌区域的图像转换为二值图像,以便进一步处理。
可以使用灰度阈值分割或基于颜色的分割方法进行二值化处理。
字符连接是通过连接相邻的字符轮廓,将字符的各个部分连接起来,形成完整的字符。
常用的字符连接方法有连通区域分析、基于宽度的字符连接等。
字符分割是通过对连接后的字符进行切割,将字符分割成单个的字符。
可以使用统计特征、基于距离的分割等方法进行字符的分割。
最后是字符识别。
字符识别的目标是对分割出的单个字符进行识别。
这一步骤主要包括特征提取和分类识别两个过程。
特征提取是从分割出的字符图像中提取出有区分度的特征,以供后续的分类识别使用。
常用的特征提取方法有灰度共生矩阵、梯度直方图、字母轮廓等。
分类识别是将提取出的特征与已知字符模板进行比较,找到最相似的字符进行识别。
常用的分类识别方法有模板匹配、神经网络、支持向量机等。
综上所述,车牌识别算法主要包括车牌定位、字符分割和字符识别三个步骤。
这些步骤通过一系列的图像处理和特征提取方法,对车牌图像进行处理和分析,并最终实现车牌的识别和提取。
3.1车牌区域定位3.1.1定位算法研究车牌定位是车牌识别系统的一项关键技术,也是难点之一。
因为现场采集的车辆图像受环境影响,采集的车辆图像质量波动较大,同时存在其它字符区域的干扰,使得真实车牌区域难以准确定位。
第二章中已经采用图像滤波、二值化、边缘检测等预处理方法增强图片效果,本章主要解决车辆图像中准确定位车牌区域的问题。
车牌图像的定位处理算法,常用的有以下几种:1.基于纹理特征的车牌定位法车辆图像随拍摄环境的变化而不同,然而车辆牌照具有不因外部条件变化而改变的特征。
车牌内有多个基本成水平排列的字符,字符和牌照底在灰度值上存在跳变,因而车牌这个矩形区域(包括边缘)有丰富的边缘存在,呈现出规则的纹理特征。
在传统的基于灰度分割技术上,这些特征为车牌定位研究提供了切实可行的依据。
基于纹理分析的方法利用车牌区域内字符纹理丰富的特征定位车牌,它对于光照偏弱、偏强、不均匀性、牌照倾斜和变形等情况不敏感。
但该方法应用于背景复杂的图像时,容易把一些纹理分布较丰富的非车牌区域定位进来,产生包含车牌在内的车牌候选区域,这是纹理分析方法的缺陷。
2.基于神经网络的定位算法利用神经网络来定位车牌是一类较为常见的方法。
本算法的基本步骤和各模块的功能如下:(1)神经网络训练模块:收集一定数量的车牌图像样本,归一化后输入至BP神经网络进行训练,达到预定的正确率后,训练结束。
本模块将获得一个对车牌敏感的BP神经网络。
(2)图像预处理模块:提取车牌前,对图像进行预处理;抑制噪声,提高图片质量。
(3)车牌定位模块:利用训练好的神经网络在图像中搜索车牌区域,定位车牌。
本方法的特点是从车牌区域特征来判别牌照,因此在搜索时会重点考虑以下表面特征(如边缘、对比度、纹理等)而忽视图像区域的内容。
有用信号的特征有时会误导搜索,如果因为定位模块忽视了非牌照区域包含的车牌特征信号点,将这些区域送入后续步骤将会影响车牌字符识别。
4基于特征统计的车牌定位基于特征统计的车牌定位利用车牌区域的结构特征和字符纹理特征。
摘要: 车牌定位是车牌自动识别技术中的一个关键问题,许多学者研究发展多种车牌定位算法。
简要介绍和比较了目前比较常见的几种车牌定位方法进行了。
车牌识别LPR(License Plate Recogniti ON)技术作为交通管理自动化的重要手段和车辆检测系统的一个重要环节,能经过图像抓拍、车牌定位、图像处理、字符分割、字符识别等一系列算法运算,识别出视野范围内的车辆牌照号码;它运用数字图像处理、模式识别、人工智能技术对采集到的汽车图像进行处理,能够实时准确地自动识别出车牌的数字、字母及汉字字符,并以计算机可直接运行的数据形式给出识别结果,使得车辆的电脑化监控和管理成为现实。
车牌识别技术的任务是处理、分析摄取的视频流中复杂背景的车辆图像,定位、分割牌照字符,最后自动识别牌照上的字符。
为了保证汽车车牌识别系统能在各种复杂环境下发挥其应有的作用,识别系统必须满足以下要求:(1)鲁棒性:在任何情况下均能可靠正常地工作,且有较高的正确识别率。
(2)实时性:不论在汽车静止还是高速运行情况下,图像的采集识别系统必须在一定时间内识别出车牌全部字符,达到实时识别。
车牌识别技术的关键在于车牌定位、字符分割和字符识别三部分,其中车牌定位的准确与否直接决定后面的字符分割和识别效果,是影响整个LPR系统识别率的主要因素,是车牌识别技术中最为关键的一步。
目前车牌定位的方法多种多样, 归纳起来主要有基于纹理特征分析的方法、基于边缘检测的方法、基于数学形态学定位、基于小波分析定位以及基于彩色图像定位等,这些方法各有所长。
1、车牌目标区域特点车牌定位方法的出发点是利用车牌区域的特征来判断牌照,将车牌区域从整幅车辆图像中分割出来。
车牌自身具有许多的固有特征,这些特征对于不同的国家是不同的。
从人的视觉角度出发,我国车牌具有以下可用于定位的特征:(1)车牌底色一般与车身颜色、字符颜色有较大差异;(2)车牌有一个连续或由于磨损而不连续的边框;(3)车牌内字符有多个,基本呈水平排列,在牌照的矩形区域内存在丰富的边缘,呈现规则的纹理特征;(4)车牌内字符之间的间隔较均匀,字符和牌照底色在灰度值上存在较大的跳变,字符本身和牌照底内部都有比较均匀的灰度;(5)不同图像中牌照的具体大小、位置不确定,但其长宽比在一定的变化范围内,存在1个最大值和1个最小值。
车牌定位算法研究分析作者:华显立连晗来源:《中国新通信》2014年第14期【摘要】车牌识别系统是智能交通系统的重要环节,车牌定位是车牌识别的前提和关键。
车牌定位的准确率直接影响到后续字符识别效果,对车牌识别率的高低有重大影响。
分析现有的车牌定位算法,比较不同算法的处理效果及其定位精确度等问题。
【关键词】车牌识别车牌定位字符识别一、引言随着我国科学技术和交通现代化的快速发展,智能交通系统( ITS)的研究越来越受到重视。
车牌识别(LPR)作为智能交通系统的重要环节,主要是利用通信技术、图像处理、模式识别或人工智能等技术,在无人干预的情况下实现车牌的自动识别。
车牌识别系统主要由图像采集、预处理、车牌定位、车牌字符分割和车牌字符识别等步骤组成。
从车牌识别系统可以看出,车牌定位是车牌识别的前提和难点,车牌定位的准确率直接影响到后续处理和字符识别效果,对识别率的高低有重大影响。
本文主要对几种典型的车牌定位算法进行分析。
二、基于边缘检测的车牌定位算法“边缘”是指像素的灰度值有阶跃变化的像素集合,“边缘检测”是图像处理和计算机视觉中进行特征提取研究的基本问题。
目的是标识数字图像中亮度变化明显的点,最终精确定位出边缘,同时抑制噪声。
边缘检测主要采用合适的边缘算子作用于图像,通过特定算法提取出边缘像素点,边缘检测的关键是寻找合适的算子进行边界分析。
研究者将一些检测效果较好的检测算子应用于车牌定位:(1)Roberts算子,利用局部差分算子寻找边缘,采用2×2邻域的对角方向两像素之差近似作为梯度幅值检测边缘。
任一对角方向上的差分都可用来估计梯度值。
检测垂直边缘的效果好于斜向边缘,定位精度高;但对噪声敏感,无法抑制噪声的影响。
(2)Prewitt算子,利用梯度算子来计算原始图像在横向x和纵向y上的灰度变化率。
按照所选的检测方向(水平、垂直或双向)进行检测,计算前先设定阈值,低于该阈值的像素值将被忽略。
Prewitt算子计算比较简单,能平滑噪声,但定位精度不够高,可能产生伪边缘。
基于数学形态学的车牌定位算法电子信息工程项振武指导教师陆建华摘要:车辆牌照的自动识别是智能交通系统中的一项重要技术,而车辆牌照的定位又是车牌识别的关键点之一。
本文针对车牌自动识别系统中的车牌定位问题,提出了一种基于数学形态学的定位方法。
整个处理过程分为图像预处理、边缘提取、车牌粗定位、车牌精确定位四大模块,用MATLAB软件编程来实现每一个部分,最后定位出汽车牌照。
在研究的同时对其中出现的问题进行了具体分析、处理,寻找出对于具体的汽车牌照识别过程的最好的定位方法。
实验结果表明,对于各种情况下的车牌图像,该算法都能有效地对车牌进行定位,具有定位准确率高,运行速度快,抗干扰性强的特点。
关键词:图像处理,汽车牌照,数学形态学,车牌定位1引言1.1背景近年来,随着人们收入水平的提高,汽车产能的提高和成本的降低,私家车正逐步成为国人的出行工具。
据中国汽车工业协会最新发布的数据显示,2009年中国汽车产量为1379.10万辆,同比增长48.30%,比上年净增444.60万辆;汽车销量1364.48万辆,同比增长46.15%,比上年净增426.43万辆,首次超越美国成为世界第一的汽车生产和消费国。
而汽车销量的增加的前提条件是国家公路通车总里程的增加,尤其是国家交通主干道——高速公路的增加。
据悉截止09年底全国高速公路总里程达到6.5万公里,再次保持了高速发展,通车总里程继续稳居世界第二。
汽车和高速公路的增加,对车辆的有效管理提出了更高的要求。
如果对汽车牌照能够正确识别,就可以实现在交通路口、高速公路、军事要塞、机关大门等对过往车辆的实时登记、流量统计和对防卫目标的安全警备,对肇事车辆、被盗车辆、犯罪车辆进行辨识和拦截;就可以实现在汽车停车场对进出的车辆进行登记、统计和查询,以保障安全,并可协助自动计费。
而这些都是建设智能交通系统不可或缺的部分。
以上这些促使车牌识别技术成为了一个热门课题,市场应用前景非常广阔。
数字图像处理车牌识别班级:信工1301 姓名:雷鹏沛学号:2013014350数字图像处理——车牌定位信工1301 雷鹏沛2013014350要求:对图像自动车牌定位的方法进行简述,并针对如下图像,提出车牌定位的方案和初步结果,内容需包括:1)问题描述及分析;2)车牌定位方法概述;3)拟采用的方法及选用理由;4)方法可行性分析及初步结果。
(40)1)问题描述及分析:描述:从给定个一张汽车图片中将车牌定位并提取出来。
分析:汽车车牌可以看成长宽比在一定变化范围内的一个矩形区域,我们只要将一定范围的长宽比的矩形定位即可。
2)车牌定位方法概述:根据车牌特点,一般采用的车牌定位算法有:1.基于纹理分析的定位方法:该算法对于牌照倾斜或变形及光照不均匀、偏弱或偏强有很好的效果,但对噪声敏感。
2.基于形态学的定位方法:该方法提高了车牌图像分割的准确度但精度不理想,所以必须结合其他定位方法进行精确定位,可与边缘特征分析相结合提高车牌区域定位的精确度。
3.基于边缘检测的定位方法:该方法的定位准确率较高,反应时间快,能有效去掉噪声,并且在多车牌图像的情况下定位速度也很快。
4.基于小波变换的定位方法:利用小波变换去噪效果好,结合其他定位方法在车牌图像检测定位中,能较为快速、有效地从复杂噪声背景中将待识别的车牌分割出来。
5.基于图像彩色信息的定位方法:彩色信息的使用可以提高车牌定位的成功率。
但是在夜晚、下雨天或大雾天是车牌区域容易有残洞,定位效果不理想。
3)拟采用的方法及选用理由:本文采用的方法为基于边缘检测定位算法结合数学形态学的定位方法。
选用理由:基于形态学的定位方法提高了车牌图像分割的准确度但精确度不理想,而基于边缘检测的定位方法准确率较高,反应时间快,故将两者结合起来进行车牌检测。
4)方法可行性分析及初步结果1.基本方法为:图像输入->预处理->特定矩形的定位。
其中,预处理包括图像的灰度变换,滤波,边缘提取,图像形态学处理等。
常用车牌定位算法比较-文档常用车牌定位算法比较一、引言近年来,随着国民经济的快速发展,各种机动车辆不断增加,导致道路交通流量不断增大,交通事故、交通堵塞等问题日益严重,我们正面临着路网通行能力不能满足交通量增长需求以及交通运输安全等问题。
为了解决这些问题,国外发达国家相继推出了适应未来运输需求的智能交通系统,我国也将发展智能交通系统作为今后交通建设的一个重要发展方向。
作为现代智能交通系统中的一项非常重要的技术,汽车牌照自动识别技术是近几年来的研究热点。
车牌识别系统LPR既具有重要的理论意义,也具有良好的实际应用价值,并且在现实生活中已经得到一定程度的应用。
由于其具有良好的发展前景,所以车牌识别系统的开发和研制工作在国内外皆受到相当大的关注。
其涉及的领域包括模式识别、图像处理、人工智能、信息论、计算机等多门学科,是一门综合的应用技术。
车牌定位是车牌识别技术的第一个关键技术,定位的准确与否直接影响着车牌识别的准确率。
在车牌定位算法中,关键是寻找某种图像处理方法,使原始图像经过该算法的处理后能够清楚地显示出车牌区域,同时使图像中的非车牌区域消失或者减弱,从而能准确有效地定位出车牌在图像中的位置。
现在已经存在的车牌定位的方法有纹理分析、汽车牌照颜色变化、还有数学形态学等很多方法。
车牌定位不准的原因往往是因为含车牌图像中存在着大量噪声、图像的质量较差等原因造成的;而由于处理图像的数据过大,往往造成用时过多,从而不符合实时性要求。
因此,本文对目前存在的车牌定位算法进行探讨,希望能找出各种算法的优缺点,以便在现实中能更好的运用各种算法,更好的发挥各算法自身的优势。
二、目前存在的各种车牌定位算法目前存在的车牌定位算法主要有:边缘检测法、数学形态学法、基于彩色或者灰度处理的方法、行检测和边缘统计法、模糊逻辑法、Gabor滤波法、遗传算法、Hough变化和轮廓线法、自适应增压法、基于小波变换的方法、均衡变换法、神经网络法、脉冲耦合神经网络法、时延神经网络法、矢量量化方法等。
近年来,智能交通系统(ITS)越来越受到人们的重视在车牌识别中,车牌自动识别系统作为核心部分之一应用已经越来越普及。
车牌识别系统主要分车牌定位、字符切分和字符识别三部分,而车牌定位又是系统中最重要的步骤,定位的成功与否以及定位的准确程度将会直接决定后期能否进行车牌识别以及识别的准确度。
文中利用MATLAB进行分析与仿真。
MATLAB是一种简单,高效、功能强大的高级语言,在科学与工程计算领域有着广泛的应用前途。
在数字图像处理领域,可应用MATLAB数字图像处理技术进行系统分析与设计。
本文要讨论的是对彩色车牌图像进行包括灰度化、二值化、图像增强、边缘检测的预处理,之后进行区域提取来实现对车牌的初定位。
借助MATLAB编程语言在仿真过程中分析现有算法并加以改进。
1 车牌定位中的基本理论与算法1.1图像灰度化彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。
经过灰度变换后,像素的动态范围增加,图像的对比度扩展,使图像变得更加清晰、细腻、容易识别。
在车牌识别中要利用灰度分布的特征进行进一步的分割、识别,因此对车牌图像进行灰度化成为车牌定位的必要步骤之一。
1.2图像二值化二值图像是指整幅图像画面内仅黑、白二值的图像。
在实际的车牌处理系统中,进行图像二值变换的关键是要确定合适的阀值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。
车牌识别系统要求处理的速度高、成本低、信息量大,采用二值图像进行处理,能大大地提高处理效率。
如果图像中某中像素的灰度值小于该阈值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。
阈值处理的操作过程是先由用户指定或通过算法生成一个阈值,常用的二值化方法有直方图统计法、固定门限法、动态阈值法、松弛法、抖动矩阵二值化法等。
由于在光照较弱的情况下,车牌图像的光照程度很不均匀,车牌字符与底色的对比度偏低,所以采取动态阈值法。
1.3数学形态学及基本运算形态学的数学基础和所用语言是集合论,其基本运算有四种:膨胀、腐蚀、开启和闭合。
基于这些基本运算,还可以推导和组合成各种数学形态学实用算法。
假设用A表示目标物体,B表示结构元素,则二值形态学基本运算及实用算法如下:如果图像A用结构元素B来膨胀,则记作A⊕B,其定义为:其中,膨胀运算首先作B关于原点的映射,再将其映像平移x,当A与B的映射的交集不为空时B的原点就是膨胀集合的像素,结果是扩张了A的边界。
如果图像A用结构元素口来腐蚀,记作A⊙B,其定义为:上式表明用结构元素B来腐蚀的结果满足将占平移后,B仍旧全部包含在4中的工的集合,实际上是收缩了A的边界。
膨胀和腐蚀为对称运算,不是逆运算,它们可以级联结合使用。
使用同一个结构元素对图像先进行腐蚀然后再进行膨胀的运算成为开启运算,开启运算可以用于平滑边界,去除孤立的小点、切断细长搭接,消除突刺;使用同一个结构元素对图像先进行膨胀然后再进行腐蚀的运算成为闭合运算,本文中主要利用是利用开启和闭合运算的性质。
因为汽车图像经过色彩过滤后,会出现许多杂散的孤立点,用开启运算可以排除这些点的干扰。
另外,车牌区域还可能出现断裂和小孔,可以通过闭合运算使车牌区域连通,并填充车牌区域内的小孔。
本文中主要利用是利用开启和闭合运算的性质。
因为汽车图像经过色彩过滤后,会出现许多杂散的孤立点,用开启运算可以排除这些点的干扰。
另外,车牌区域还可能出现断裂和小孔,可以通过闭合运算使车牌区域连通,并填充车牌区域内的小孔。
1.4边缘检测图像的边缘是图像的最基本特征。
所谓边缘是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。
边缘广泛存在于物体和背景之间、物体和物体之间、基元和基元之间。
因此,它是图像分割所依赖的重要特征。
常用的边缘检测方法有Sobel 边缘算子、Prewitt 边缘算子、Kirseh 边缘算子、高斯--拉普拉斯算子等等。
该文采用的是Canny边缘检测的方法。
该方法为最优的阶梯型边缘检测算法。
1.1.1 Canny边缘检测基本原理(1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。
(2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。
这就是Canny边缘检测算子。
(3)类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。
1.1.2 Canny边缘检测算法首先用高斯滤波器平滑图象,利用用一阶偏导的有限差分来计算梯度的幅值和方向;再对梯度幅值进行非极大值抑制;然后用双阈值算法检测和连接边缘。
最后用到高斯平滑函数通过将八连接的弱像素集成到强像素,执行边缘链接。
本文通过仿真与对比的方式选择边缘检测的算子,分别对比检测要求的特征和检测起映射的效果的清晰程度。
比较之下发现目前Canny边缘检测器产生的结果最佳。
1.5区域标记对二值图像进行区域提取时,首先需要对对图像每个区域进行标记,其中应用到了连通对象进行标注函数bwlabel主要对二维二值图像中各个分离部分进行标注,其用法如下:[L,num] = bwlabel(BW,n)其中,L表示返回和BW相同大小的数组,而且包含了连通对象的标注。
参数n为4或8,分别对应4邻域和8邻域,默认值为8。
Num为返回连通数。
然后,需要得到图像区域属性。
计算每个区域的图像特征参数:区域中心位置、最小包含矩形、面积。
这里给出在Matlab图像处理工具箱中非常重要的一个图像分析函数:regionprops。
它的用途是get the properties of region,即用来度量图像区域属性的函数。
其用法如下:STATS = regionprops(L,properties)其中,测量标注矩阵L中每一个标注区域的一系列属性。
L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。
返回值STATS是一个长度为max(L(:))的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。
properties 可以是由逗号分割的字符串列表、饱含字符串的单元数组、单个字符串‘all' 或者‘basic'。
如果 properties 等于字符串‘all',则所有下述字串列表中的度量数据都将被计算,如果 properties 没有指定或者等于‘basic',则属性:‘Area', ‘Centroid', 和‘BoundingBox' 将被计算。
本文对已经得到了可行车牌区域的连通域,进行连通域分析均用到上述函数,从而计算出包含所标记的区域的最小宽和高。
并根据先验知识,即对标准车牌而言这个宽高比大致为3.14 ,不妨取2~4 为字符区域的宽高比范围。
比较谁的宽高比更接近实际车牌宽高比,将更接近的提取并显示出来。
2 仿真实验2.1 图像的预处理2.1.1 图像灰度化将采集到的彩色车牌图像转化为灰度图像。
%将彩色图像转换为黑白并显示Sgray = rgb2gray(Scolor); %转换成灰度图figure,imshow(Sgray), title('原始黑白图像');以下展示了原始彩色图像与灰度图像对比的效果:图 1 原始彩色图像与灰度图像对比效果2.1.2 图像增强对原始图像进行开操作得到图像背景图像:s=strel('disk',13); %strel函数Bgray=imopen(Sgray,s); %打开sgray s图像figure,imshow(Bgray);title('背景图像'); %输出背景图像以下展示了背景图像效果:图2 背景图像原始图像与背景图像作减法,对图像进行增强处理:Egray=imsubtract(Sgray,Bgray); %两幅图相减figure,imshow(Egray);title('增强黑白图像');%输出黑白图像以下展示了黑白图像效果:图3 黑白图像在图像增强中值滤波是一种最常用的图像增强技术,是非线性滤波。
不过经过实验得出并不是每一种图像处理之初都适合此种方法增强。
Egray= medfilt2(Sgray,[3 3]); %中值滤波方法处理图像figure,imshow(Egray);title('增强黑白图像'); %输出黑白图像以下展示了黑白图像效果:图4 中值滤波的黑白图像为了保存更多的有用信息和提高图像清晰对为之后图像二值化做准备,经多次比较仿真结果选择图3作为后期处理图片。
2.1.2取得最佳阈值,将图像二值化二值图像是指整幅图像画面内仅黑、白二值的图像。
在实际的车牌处理系统中,进行图像二值变换的关键是要确定合适的阀值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息选取最佳阈值对图像进行二值化处理:fmax1=double(max(max(Egray))); %Egray的最大值并输出双精度型fmin1=double(min(min(Egray))); %Egray的最小值并输出双精度型level=(fmax1-(fmax1-fmin1)/3)/255; %获得最佳阈值bw22=im2bw(Egray,level); %转换图像为二进制图像bw2=double(bw22);figure,imshow(bw2);title('图像二值化');%得到二值图像以下展示了二值效果:图4 二值图像2.2边缘检测仿真实验对图像进行边缘提取处理:grd=edge(bw2,'canny') %用canny算子识别强度图像中的边界grd1=edge(bw2,'roberts') %用roberts算子识别强度图像中的边界figure,subplot(2,2,1),imshow(grd); title('边缘提取canny');subplot(2,2,2),imshow(grd1);title('边缘提取roberts'); %输出灰度图像以下展示了分别使用canny算子和roberts算子的对比效果:图5 边缘检测两种算子对比图像如图5所示可以明显的发现使用canny算子的边缘提取图像噪声更少、边界更加清晰,因此更加适合作为后期处理的图像来使用。
2.3 开闭操作图像滤波仿真实验对图像做了开运算和闭运算,闭运算可以使图像的轮廓线更为光滑,它通常用来消掉狭窄的间断和长细的鸿沟,消除小的孔洞,并弥补轮廓线中的断裂。