当前位置:文档之家› 对于车牌识别图像预处理技术的研究

对于车牌识别图像预处理技术的研究

对车牌识别图像预处理技术的探究摘要:随着当今汽车数量日益增加,城市交通状况也相应的受到人们的重视,如何进行有效的交通管理更是成为了人们关注的焦点。

针对此问题,人们运用新的科学技术,相继研制开发出了各种交通道路监视、管理系统。

这些系统通过车辆检测装置对过往的车辆实施检测,提取有关交通数据,达到监控、管理和指挥交通的目的。

MATLAB是一种高效的工程计算语言,它是一个比较完整的数据库系统,在数据处理、图像处理、神经网络、小波分析等方面都有广泛的应用。

本文详细阐述了运用MATLAB对车牌进行图像增强、边缘检测、二值图像化、形态学滤波等处理过程,为后面研究其定位、分割、识别做好充分的准备。

关键词:车牌图像增强中值滤波二值化形态学滤波 MATLAB引言:通常情况下,由于外界光线、气候或其他自然、设备本身、人为因素等干扰而导致所拍摄的车牌图片成像不完美,使得对比度太小、曝光量太大、不清晰、倾斜等情况产生,这些情况都会极大的影响后期车牌号码字符的分割、识别操作,甚至导致无法进行字符分割和识别操作。

因而,在做字符分割和识别操作之前,对图像做一系列的预处理很有必要。

这些预处理操作包括图像增强处理(中值滤波、均值滤波、直方图均衡化)、边缘检测、二值化、形态学滤波处理。

1图像的增强处理1.1中值滤波中值滤波是一种非线性滤波,由于它在实际运算过程中并不需要图像的统计特性,所以比较方便。

中值滤波首先是被应用在一维信号处理技术中,后来被二维图像信号处理技术所应用。

在一定的条件下,可以克服线性滤波器所带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。

但是对一些细节多,特别是点、线、尖顶细节多的图像不宜采用中值滤波的方法。

中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替。

设有一个一维序列1f ,2f ,…,n f ,取窗口长度为m(m 为奇数),对此序列进行中值滤波,就是从输入序列中相继抽出m 个数,v i f -,…,1-i f ,…,1f ,…,1+i f ,…,v i f +,其中i 为窗口的中心位置,21-=m v ,再将这m 个点按其数值大小排列,取其序号为正中间的那个数作为输出。

用数学公式表示为:{}v i i v i i f f f Med Y +-=,,,, (21,-=∈m v Z i ) 对于二维序列{}ij X 进行中值滤波时,滤波窗口也是二维的,但这种二维窗口可以有各种不同的形状,如线状、方形、圆形、十字形、圆环形等。

二维数据的中值滤波可以表示为: 为滤波窗口},{,A X Med Y ij Aj i = 在实际使用窗口时,窗口的尺寸一般先用33⨯再取55⨯逐渐增大,直到其滤波效果满意为止。

对于有缓变的较长轮廓线物体的图像,采用方形或圆形窗口为宜,对于包含尖顶角物体的图像,适宜用十字形窗口。

使用二维中值滤波最值要注意的是保持图像中有效的细线状物体。

与平均滤波器相比,中值滤波器从总体上来说,能够较好地保留原图像中的跃变部分。

本文给定的图像为二维信号,在信号中加入指定的椒盐噪声,然后利用中值滤波进行去噪。

虽然有关中值滤波的函数在MATLAB 函数库中已经提供,但在图像处理中利用中值滤波去除图像中的椒盐噪声却是一种有效的方法,利用中值滤波函数去除图像中的噪声过程如下:(1)使用imread()读入原始的彩色图像;(2)因为使用中值滤波器只能对灰度图像进行处理,所以利用rgb2gray()将彩色图像转化为灰度图像;(3)用imnoise()在灰度图像中加入椒盐噪声;(4)利用medfilt2()函数进行中值滤波,并在MATLAB 环境下运行。

相应的MATLAB 主程序如下:f=imread('C:\Users\AUSU\Desktop\学习\数字图像处理\2.jpg');t=rgb2gray(f);p1=imnoise(t,'salt & pepper',0.02);p2=medfilt2(p1);subplot(2,2,1);imshow(f);title('原始图像');subplot(2,2,2);imshow(t);title('灰度图像');subplot(2,2,3);imshow(p1);title('加入噪声后图像');subplot(2,2,4);imshow(p2);title('中值滤波后图像');1.2 直方图均衡化直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。

对与一个灰度图像,让i n 表示灰度i 出现的次数,这样图像中灰度为i 的像素的出现概率是: 1,...,0,)(-∈=L i nn i P i x 是图像中所有的灰度数,n 是图像中所有的像素数, P 实际上是图像的直方图,归一化到(0,1)。

把 C 作为对应于P 的累计概率函数, 定义为:∑==i j x i j P C 0)()(,C 是图像的累计归一化直方图 我们创建一个形式为)(x T y =的变化,对于原始图像中的每个值它就产生一个y ,这样y 的累计概率函数就可以在所有值范围内进行线性化,转换公式定义为:)()(i x i C T y i ==注意 T 将不同的等级映射到(0,1)域,为了将这些值映射回它们最初的域,需要在结果上应用下面的简单变换:min min)(max +-•='i i y y上面描述了灰度图像上使用直方图均衡化的方法,但是通过将这种方法分别用于图像RGB 颜色值的红色、绿色和蓝色分量,从而也可以对彩色图像进行处理。

相应的MATLAB 主程序如下:f=imread('C:\Users\AUSU\Desktop\学习\数字图像处理\2.jpg');[m,n]=size(f);num=m*n;r=zeros(1,256);e=zeros(1,256);d=zeros(size(f));for i=1:m for j=1:nr(f(i,j)+1)=r(f(i,j)+1)+1; %原图像概率密度end end r=r./num; for i=1:m for j=1:ie(i)=e(i)+r(j); %累积分布 end endfor i=1:256 e(i)=floor(e(i)*255+0.5); %映射关系end for i=1:m for j=1:nd(i,j)=e(f(i,j)+1);end endp=uint8(f);q=uint8(d);subplot(121),imshow(p),title('原始图像');subplot(122),imshow(q),title('直方图均衡化图像');1.3 均值滤波均值滤波是一种基本的基于图像局部统计信息对图像进行滤波的方法,其应用广泛。

最简单的均值滤波是将原图中的一个像素的灰度值和它周围邻近8个像素点的灰度值相加,然后将所求的平均值作为新图中的该像素的灰度值。

邻域平均法用数学公式表达:设),(j i f 为给定的含有噪声的图像,经过邻域平均法处理后的图像为),(j i g ,则M j i N j i f j i g ∈=∑),(,),(),(,M 是所取邻域内各邻近像素的坐标,N 是邻域中所包含的临近像素个数。

当平滑模板的尺寸增大时,对噪声的消除效果有所增强,但同时会带来图像的模糊,边缘细节逐步减少,且运算量增大。

1.4 中值滤波与均值滤波的比较(1)均值滤波对高斯噪声的抑制是比较好的,处理后的图像边缘模糊较少。

但它对椒盐噪声的影响不大,因为在削弱噪声的同时整幅图像内容总体也变得模糊,其噪声仍然存在。

(2)对于中值滤波,由图像处理的结果可以看出,它只影响了图像的基本信息,说明中值滤波对高斯噪声的抑制效果不明显。

这是因为高斯噪声使用随机大小的幅值污染所有的点,因此无论怎样进行数据选择,得到的始终还是被污染的值。

其中中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好,同时画面的轮廓依然比较清晰。

由此看来,对于椒盐噪声密度较小时,尤其是孤立噪声点,用中值滤波的效果非常好的。

(3)均值滤波对高斯噪声有较好的抑制作用,而对于椒盐噪声的处理中值滤波要略微有优势。

2边缘检测、二值化图像原理及实现操作2.1 边缘检测边缘粗略分为阶跃、屋顶和脉冲状三种。

阶跃状边缘位于两边的像素灰度值有明显不同的地方;屋顶状边缘位于灰度值从增加到减少的转折处。

边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。

图像属性中的显著变化通常反映了属性的重要事件和变化。

这些包括:(i)深度上的不连续;(ii)表面方向不连续;(iii)物质属性变化;(iv)场景照明变化。

边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。

边缘检测的方法主要有:roberts算子、prewitt算法、sobel算子、laplace算子以及canny检测算子。

通过对原图像进行边缘检测,从而对车牌图像中的重要信息进行提取,并准确分析图像的纹理,因而我们采用是边缘轮廓比较清晰的图像,以便对其处理显得更醒目。

下图未经过以上几种算子所处理后的图像:2.3 算法比较Roberts算子是利用图像的两个对角线的相邻像素之差进行梯度幅值的检测,所以求得的是在差分点出梯度幅值的近似值,并且检测水平和垂直方向边缘的性能好于斜线方向的边缘,检测精度比较高,但容易丢失一部分边缘信息,同时由于没经过图像平滑计算,因此不能抑制噪声,但该算子对具有陡峭的低噪声图像响应最好。

Prewitt算子和Sobel算子都是对图像进行差分和滤波计算,仅在平滑部分的权值选择上有差异。

这两者均是通过像素平均来实现对噪声的抑制,这一过程中图像产生了一定的模糊,而且还会被检测出一些伪边缘,检测精度比较低,所以这两种算子比较适用于图像边缘灰度值比较尖锐且图像噪声比较小的情况。

Canny算子与Laplace相似,同样有易平滑掉一些边缘信息的特点,但其边缘定位精度较高,它与其他边缘检测算子的不同之处在于使用两种不同的阈值分别检测强边缘和弱边缘,并且仅当弱边缘相连时才将弱边缘包含在输出图像中,因此这种方法不容易被噪声“填充”,更容易检测出真正的边缘,边缘定位准确,连续性较好,虚假边缘少且边缘具有单向像素宽度。

2.3 二值化图像二值化是指用灰度变换来研究灰度图像的一种常用方法,即设定某一阈值将灰度图像的像素分成大于阈值的像素群和小于阈值的像素群两部分。

相关主题