摘 要:论文对几种常用的图像边缘检测算法进行了分析,实际上这几种方法都在我们的生活生产乃至国防中得到了广泛的应用。论文在分析的基础上,进一步进行了比对说明,指出了它们各自的特点。
关键词:图像处理;计算机应用;边缘检测;图像边缘;拉普拉斯算子
引言
图像的边缘是图像的最基本特征,所谓边缘是指其周围像素灰度有阶跃变化或屋顶变化的那些像素的结合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间,它们是图像分割所依赖的重要特征,边缘提取是图形处理、特征抽取中的重要技术。经典的边缘提取方法是考察图像的每个像素在某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化规律,用简单的方法检测边缘,这种方法被称为边缘检测局部算子法。
1常用算法分析
下面是几种常见的边缘检测算子,这里在分析的基础上进行比较研究。
(1)Robert算子
它是一种利用局部差分算子寻找边缘的算子。
(2.3)
其中f(x,y)是点(x,y)的像素值。式中的平方根运算使该处理类似于人类视觉系统中发生的过程。Robert算子是 2×2算子,对具有陡峭的低噪声图像响应最好,其算子为:
(2.4)
Robert运算实际上是求旋转士45°两个方向上微分值的和。
(2)Prewitt边缘算子
1970年左右,Prewitt提出此算子,下面的两个卷积核形成了Prewitt边缘算子。
(2.5)
P1算子是垂直算子,检测水平边缘,P2是水平算子,检测垂直边缘。
如果我们用Prewitt算子检测图像M的话,我们可以先分别用水平算子和垂直算子进行卷积,得到的是两个矩阵,在不考虑边界的情况下也是和原图像同样大小的M1,M2,它们分别表示图像M中相同位置处的两个偏导数。然后把M1,M2对应位置的两个数平方后相加得到一个新的矩阵G,G表示M中各个像素的灰度的梯度值(一个逼近),然后就可以通过闭值处理得到图像边缘。总的过程是:
(2.6)
(3) Sobel算子
(2.7)
S1是垂直算子,检测水平边缘,S2是水平算子,检测垂直边缘。如果在每个点噪声都是相同的,那么Prewitt算子是比较好的,如果靠近边缘的噪声是沿着边缘的两倍,那么Sobel算子是比较好的。算子的好坏取决于噪声的结构。
(4)Kirsch边缘算子
Kirsch边缘算子是一个3×3的非线形方向算子,它由下图所示的八个掩模组成,图中的每个点都用8个掩模进行卷积,每个掩模都对某个特定边缘方向做出最大响应,所有8个方向中的最大值作为边缘幅度图像的输出,最大响应掩模的序号构成了边缘方向的编码。
(2.8)
Prewitt算子和瓦kirsch算子对灰度渐变和噪声较多的图像处理的较好。
(5)Laplacian算子和LOG算子
我们知道,在拐点位置二阶导数是0,所以我们可以通过寻找二阶导数的零交叉点来寻找边缘,而原函数的Laplacian变换定义为:
(2.9)
常用的模版有
(2.10)
很显然,一阶导数对噪声是敏感的(因而是不稳定的),那二阶导数对噪声就会更敏感,因为更不稳定。所以在做L变换之前作平滑是必要的,又因为卷积是可结合可变换的,所以先作高斯卷积然后用L算子作卷积就等价于对原图像使用高斯函数的Laplacian变换后的滤波器作卷积是一样的。这就是一个新的滤波器LOG滤波器。
(2.11)
但过零算法检测边缘本身具有一定的局限性:一方面,它检测的图像边缘比梯度方法检测的边缘要细;另一方面,它检测的图像边缘会出现大量的闭合环路,这种缺点非常严重。因此,在实际中,基于梯度的边缘检测技术比过零边缘检测技术更具有使用价值。
除此之外,还有一些边缘检测算子和算法,如Canny算子、Hueckel算法、Wallis对数算子、Marr和Hildreth的零交叉点算子等。
2各种算子比较
Roberts算子对边缘定位比较准,所以分割结果的边界宽度不像后面的Prewitt分割那样宽。在图像噪声较少的情况下,分割的结果还是相当不错的。
Sobel算子、Prewitt算子、Krisch算子都是3×3的算子,它们对灰度渐变和噪声较多的图像处理得较好。Prewitt算子并不是各向同性的,边缘并不是完全连通的,有一定程度的断开。
Laplacian算子是二阶微分算子,对噪声比较敏感,所以分割结果中在一些像素上出现了散碎的边缘像素点。可以证明,它具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。它对边缘的定位还是比较准的。
参考文献:
[1]黎楷模.边缘检测算法在牌照定位中的应用分析.郑州工业高等专科学校学报,2004,20(3):1-2
[2]李刚,曾锐利,林凌,王蒙军.基于数学形态学的车牌定位方法.仪器仪表学报,2007,28(7):1323-1327
[3]黄豪杰,李榕,常鸿森,李南希.基于边缘颜色分布的车牌定位新方法.激光杂志,2007,28(3):57-59