关于车牌定位的一些算法
一种复杂环境中的车牌定位算法

一种复杂环境中的车牌定位算法车牌定位是智能交通系统中重要的一环,它是车辆识别系统的关键步骤。
然而,在复杂环境中,如光线不均匀、天气恶劣或者车辆位置和角度变化较大时,车牌定位变得尤为困难。
因此,为了提高车牌定位的准确性和鲁棒性,在这种复杂环境下,可以采用以下算法。
首先,可以通过颜色特征进行车牌定位。
车牌通常具有特定的颜色,例如蓝色、黄色或者绿色等。
因此,可以使用颜色分割算法来提取图像中的车牌区域。
该算法首先根据颜色阈值将图像分割为不同的颜色区域,然后通过形态学操作来滤除小的非车牌区域。
最后,根据车牌的特定形状和比例进行筛选和检测。
其次,可以利用边缘检测算法来进行车牌定位。
边缘检测可以识别图像中的边缘信息,而车牌通常具有较为明显的边缘。
可以采用经典的边缘检测方法,如Canny算子,对图像进行边缘提取。
然后,根据车牌的特定形状和比例进行车牌候选区域的筛选。
此外,可以采用模板匹配的方法进行车牌定位。
模板匹配是一种基于相似度的匹配算法,可以在复杂背景下识别车牌。
首先,需要采集车牌图像的样本,然后使用特定的特征提取算法,如卷积神经网络(CNN),将车牌样本转换为特征向量。
接下来,对于待检测图像,也使用同样的特征提取算法,将图像转换为特征向量。
最后,通过计算图像特征向量与车牌样本特征向量之间的相似度来判断是否为车牌区域。
最后,可以结合多种算法进行车牌定位。
由于复杂环境下的车牌定位问题具有较高的难度,单一算法往往无法满足要求。
因此,可以采用多种算法的组合,例如,先通过颜色分割算法提取初始车牌区域,然后再使用边缘检测和模板匹配算法进行进一步的筛选和确认。
综上所述,复杂环境中的车牌定位算法可以结合颜色分割、边缘检测、模板匹配等多种方法。
同时,对于车牌定位的准确性和鲁棒性,还需要考虑光照变化、天气条件等因素,并采用适当的预处理和参数调整方法来提高算法的性能。
车牌定位

车牌定位本人的毕设收集资料a.一些算法1.基于纹理特征的车牌定位法车辆图像随拍摄环境的变化而不同,然而车辆牌照具有不因外部条件变化而改变的特征。
车牌内有多个基本成水平排列的字符,字符和牌照底在灰度值上存在跳变,因而车牌这个矩形区域(包括边缘)有丰富的边缘存在,呈现出规则的纹理特征。
在传统的基于灰度分割技术上,这些特征为车牌定位研究提供了切实可行的依据。
基于纹理分析的方法利用车牌区域内字符纹理丰富的特征定位车牌,它对于光照偏弱、偏强、不均匀性、牌照倾斜和变形等情况不敏感。
但该方法应用于背景复杂的图像时,容易把一些纹理分布较丰富的非车牌区域定位进来,产生包含车牌在内的车牌候选区域,这是纹理分析方法的缺陷。
2.基于神经网络的定位算法利用神经网络来定位车牌是一类较为常见的方法。
本算法的基本步骤和各模块的功能如下:(1)神经网络训练模块:收集一定数量的车牌图像样本,归一化后输入至BP神经网络进行训练,达到预定的正确率后,训练结束。
本模块将获得取两个波谷的区域为边界,确定车牌在行方向的区域。
在分割出的行区域内,用相同的方法统计列方向的底色像素点数量,取图像对蓝色或黑色的垂直投影的两个波谷为左右边界,最终确定完整的车牌区域。
通过定位修正能更准确找到车牌图像的上下边界。
基于特征统计定位算法的定位结果如图3-1所示。
从原始图像可以看到,车体和车牌颜色对比明显,车体主要为黑色,而车牌为蓝色背景,白色字体。
车体和车牌颜色的明显对比为算法提供了基础。
此算法缺陷在于:车牌颜色必须不同于图像整体背景色,否则无法提取出车牌区域。
5基于改进SobeI算子边缘检测法传统Sobcl算子只有水平和垂直两个方向模板;其中水平模板对水平边缘的响应最大,垂直模板对垂直边缘响应最大。
模板的方向表示灰度由低到高或由高到低的变化方向,而不是图像的实际边缘方向。
通过对车牌字符的垂直方向和斜线方向进行划分,本文采用六方向模板,算法实现的基本思想:构造六方向模板,对图像进行逐点计算,取最大值作为该点的新灰度值,该最大值对应模板的方向为该像素点的边缘方向。
关于车牌定位的一些算法

近年来,智能交通系统(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. 角度偏差和光照波动控制算法:在车牌定位和字符识别过程中,车辆的角度偏差和光照波动会影响算法的准确性。
这种算法通常会使用一些图像处理技术,如滤波、归一化等,以减小这些因素的影响。
这些算法在车牌识别过程中相互配合,以实现准确的车牌识别。
简述常用车牌定位算法

简述常用车牌定位算法在我国,直至20世纪50年代,车辆管理主要靠人工方式,然而随着经济的迅猛发展,工业化程度的不断加深,汽车数量大量增加,给交通管理、环境治理、社会治安、交通运营等提出了许多新的问题。
伴随着车辆数目的增加,生活小区、地方单位、部队营区、停车场等对车辆的管理面临着新的挑战。
如何做到车辆状态有案可查、有据可依,如何实现车辆的科学化、自动化管理成为人们关注的话题。
车牌的自动识别时计算机视觉、图像处理与模式识别技术在智能交通领域应用的重要研究方向之一,是实现交通管理智能化的重要环节。
此项研究始于20世纪80年代,目前已成为国内外的一个热点研究方向,主要包括车牌定位、车牌字符分割和车牌字符识别三个关键环节。
目前车牌识别方法主要是采用车牌识别技术和车型识别技术。
车牌识别技术的任务是处理、分析摄取的视频流中复杂背景的车辆图像,定位、分割牌照字符,自动识别牌照上的字符。
为了保证汽车车牌识别系统能在各种复杂环境下发挥其应有的作用,识别系统必须满足以下要求:(1)鲁棒性:在任何情况下均能可靠正常地工作,且有较高的正确识别率。
(2)实时性:不论在汽车静止还是高速运行情况下,图像的采集识别系统必须在一定时间内识别出车牌全部字符,达到实时识别。
车牌识别技术的关键在于车牌定位、字符分割和字符识别三部分,其中车牌定位的准确与否直接决定后面的字符分割和识别效果,是影响整个LPR系统识别率的主要因素,是车牌识别技术中为关键的一步。
目前车牌定位的方法多种多样,归纳起来主要有基于纹理特征分析的方法、基于边缘检测的方法、基于数学形态学定位、基于小波分析定位以及基于彩色图像定位等,这些方法各有所长。
1车牌目标区域特点车牌定位方法的出发点是利用车牌区域的特征来判断牌照,将车牌区域从整幅车辆图像中分割出来。
车牌自身具有许多的固有特征,这些特征对于不同的国家是不同的。
从人的视觉角度出发,我国车牌具有以下可用于定位的特征:(1)车牌底色一般与车身颜色、字符颜色有较大差异;(2)车牌有一个连续或由于磨损而不连续的边框;(3)车牌内字符有多个,基本呈水平排列,在牌照的矩形区域内存在丰富的边缘,呈现规则的纹理特征;(4)车牌内字符之间的间隔较均匀,字符和牌照底色在灰度值上存在较大的跳变,字符本身和牌照底内部都有比较均匀的灰度;(5)不同图像中牌照的具体大小、位置不确定,但其长宽比在一定的变化范围内,存在1个值和1个值。
车牌识别算法原理

车牌识别算法原理
车牌识别算法的原理大致可以分为以下几个步骤:
1. 图像预处理:将原始图像进行灰度化、二值化、去噪等操作,得到能够进行后续处理的图像。
2. 车牌定位:利用图像处理技术将车牌从图像中定位出来。
常用的技术包括边缘检测、色彩定位、形状分析等。
3. 车牌字符分割:将定位到的车牌图像分割成独立的字符图像,常用的技术包括投影法、边缘分割法、基于颜色的分割法等。
4. 字符识别:利用机器学习算法或人工神经网络等技术,对车牌上的字符进行识别。
常用的算法包括支持向量机(SVM)、卷积神经网络(CNN)等。
5. 最终校验:将识别出来的车牌号码与数据库中的车牌号码进行匹配校验,确保识别结果的准确性。
以上就是车牌识别算法的基本原理,不同的算法可能会注重不同的环节和技术手段,但总体上都会按照这个基本流程进行处理。
车牌定位与车牌字符识别算法的研究与实现

车牌定位与车牌字符识别算法的研究与实现一、本文概述随着智能交通系统的快速发展,车牌识别技术作为其中的核心组成部分,已经得到了广泛的应用。
车牌定位与车牌字符识别作为车牌识别技术的两大关键环节,对于实现自动化、智能化的交通管理具有重要意义。
本文旨在探讨和研究车牌定位与车牌字符识别的相关算法,并通过实验验证其有效性和可行性。
本文首先对车牌定位算法进行研究,分析了基于颜色、纹理和边缘检测等特征的车牌定位方法,并对比了各自的优缺点。
随后,本文提出了一种基于深度学习的车牌定位算法,通过训练卷积神经网络模型实现对车牌区域的准确定位。
在车牌字符识别方面,本文介绍了传统的模板匹配、支持向量机(SVM)和深度学习等识别方法,并对各种方法的性能进行了比较。
在此基础上,本文提出了一种基于卷积神经网络的字符识别算法,通过训练模型实现对车牌字符的准确识别。
本文通过实验验证了所提出的车牌定位与车牌字符识别算法的有效性和可行性。
实验结果表明,本文提出的算法在车牌定位和字符识别方面均具有较高的准确率和鲁棒性,为车牌识别技术的实际应用提供了有力支持。
本文的研究不仅对车牌识别技术的发展具有重要意义,也为智能交通系统的进一步推广和应用提供了有益参考。
二、车牌定位算法的研究与实现车牌定位是车牌字符识别的前提和基础,其主要任务是在输入的图像中准确地找出车牌的位置。
车牌定位算法的研究与实现涉及图像处理、模式识别等多个领域的知识。
车牌定位算法的研究主要集中在两个方面:一是车牌区域的粗定位,即从输入的图像中大致找出可能包含车牌的区域;二是车牌区域的精定位,即在粗定位的基础上,通过更精细的处理,准确地确定车牌的位置。
在车牌粗定位阶段,常用的方法包括颜色分割、边缘检测、纹理分析等。
颜色分割主要利用车牌特有的颜色信息,如中国的车牌一般为蓝底白字,通过颜色空间的转换和阈值分割,可以大致找出可能包含车牌的区域。
边缘检测则主要利用车牌边缘的灰度变化信息,通过算子如Canny、Sobel等检测边缘,从而定位车牌。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
近年来,智能交通系统(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 开闭操作图像滤波仿真实验对图像做了开运算和闭运算,闭运算可以使图像的轮廓线更为光滑,它通常用来消掉狭窄的间断和长细的鸿沟,消除小的孔洞,并弥补轮廓线中的断裂。