重庆理工大学毕业论文 车牌定位与识别的设计与实现
图 2-1 原始图像
图 2-2 灰度图像
2.3 图像增强
对车辆图像进行灰度化处理之后,车牌部分和非车牌部分图像的对比度并不
6
重庆理工大学毕业论文 车牌定位与识别的设计与实现
是很高,此时如果直接进行边缘提取,由于车牌界限较为模糊,难以提取出车牌边缘,因而难以准确定位车牌。为了增强牌照部位图像和其他部位图像的对比度,使其明暗鲜明,有利于提高识别率,需要将车辆图像进行增强。
图像增强的目的是对图像进行加工,以得到对具体应用来说视觉效果更适于计算机识别的图像。增强图像的方法有很多,如灰度变换、图像平滑处理和线性滤波等,根据处理图像域又可分为空间增强与频域增强。目前用于车牌图像增强的方法有:灰度拉伸、直方图均衡、中值滤波、高斯滤波、邻域滤波、图像腐蚀、多图像平均、同态滤波等等。
在本设计中用到运动目标检测—图像开运算,图像的开运算是先腐蚀后膨胀,用来消除小物体、在纤细点处分离物体、平滑较大物体的边缘同时并不明显改变其面积。
(1)对原始图像进行开运算得到背景图像: s=strel('disk',13); %调用strel函数 Bgray=imopen(Sgray,s); %对图像进行开运算 figure,imshow(Bgray);title('背景图像'); 输出背景图像,如图 2-3 所示
图 2-3 背景图像图 图2-4 增强后的黑白图像 (2)原始灰度图像与背景图像做减法,对图像进行增强处理: Egray=imsubtract(Sgray,Bgray);
figure,imshow(Egray);title('增强黑白图像'); 输出黑白图像如图 2-4 所示。 2. 4 图像边缘提取及二值化 2.4.1 图像边缘提取
边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之
7
重庆理工大学毕业论文 车牌定位与识别的设计与实现
间,边缘检测主要是精确定位边缘和抑制噪点,原理是:由于微分算子具有突出灰度变化的作用,对图像进行微分运算,在图像边缘处及其灰度变化较大,故该处微分计算值较高,可将这些为分支作为相应点的边缘强度,通过阈值判别来提取边缘点,即如果为分支大于阈值,则为边缘点。其基本步骤是首先利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置门限的方法提取边缘点集[4]。
常用的传统边缘检测算子有 Roberts 算子、Sobel 算子、Prewitt 算子、Laplace算子等。
Roberts算子:边缘定位准确,但对噪声敏感,去噪声作用小,适合于边缘明显且噪声较小的图像分割;物体的边缘总是以图像中强度的突变形式出现的,所以物体边缘包含着大量的信息。由于物体的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法”。
设f(x,y)是图像灰度分布函数;s(x,y)是图像边缘的梯度值;?(x,y)是梯度的方向。则有
s(x,y)?
??f(x?n,y)?f(x,y)???f(x,y?n)?f(x,y)??2122 (2-1)
(n=1,2,...)
?1?(x,y)?tany,??fx(?n?)fx(?y,)/f?x(n?y,)??fx(y,)? (2-2)
式(2-1)与式(2-2)可以得到图像在(x,y)点处的梯度大小和梯度方向。 将式(2-1)改写为:
g(x,y)??f(x,y)??
??f(x?1,y?1)????f(x?1,y)?2f(x,y?1)??122? (2-3)
g(x,y)称为Roberts边缘检测算子。式中对f(x,y)等的平方根运算使该处理类似于人类视觉系统的发生过程。事实上Roberts边缘检测算子是一种利用局部差分方法寻找边缘的算子,Robert梯度算子所采用的是对角方向相邻两像素值之差,所以用差分代替一阶偏导,算子形式可表示如下:
?)f(?x1,?y???xf(x,y)?f(x,y??1,y?)f(x,?y1)??yf(x,y)?f(x ? (2-4)
8
重庆理工大学毕业论文 车牌定位与识别的设计与实现
上述算子对应的两个2?2模板如图 2-5 所示。实际应用中,图像中的每个像素点都用这两个模板进行卷积运算,为避免出现负值,在边缘检测时常提取其绝对值。
1 0 0 1
0 -1 -1 0 (a) (b) 图2-5 Robert算子模板
Sobel算子:它是方向性的,在水平和垂直方向上形成了最强烈的边缘。Sobel算子不仅能检测边缘点,而且能抑制噪声影响,对灰度渐变和噪声较多的图像处理得较好;该算子是由两个卷积和g1(x,y)与g2(x,y)对原图像f(x,y)进行卷积运算而得到的。其数学表达式为:
MN?MN?S(x,y)?MAX???f(m,n)g1(i?m,j?n),??f(m,n)g2(i?m,j?n)?m?1n?1?m?1n?1? (2-5)
实际上Sobel边缘算子所采用的算法是先进行加权平均,然后进行微分运算,我们可以用差分代替一阶偏导,算子的计算方法如下:
???1,y?1?)?xf(x,y)??f(x??1,y?1?)???yf(x,y)??f(x2fx(?y,2fx(??1)f?x(1y,?)f?x(?y?,?1?y?,?1?1)f?x(?1)f?x(?y1,?1)fx2?y(?,f1??)x?y1,?1)f?x2(y?1,f??)x(?y1,(?y1,
(2-6)
Sobel算子垂直方向和水平方向的模板如图 2-6 所示,前者可以检测出图像中的水平方向的边缘,后者则可以检测图像中垂直方向的边缘。实际应用中,图像中的每一个像素点都用这两个卷积核进行卷积运算,取其最大值作为输出。运算结果是一幅体现边缘幅度的图像。
9
相关推荐: