资源描述:
《常用边缘检测算子比较》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、常用边缘检测算子边缘检测算子边缘检测经典算子:Roberts算子、Sobel算子、Prewitt算子、Laplacian算子、LOG滤波器(Marr-Hildreth算子)、Kirsch算子、Canny算子等。Roberts算子景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。由于景物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法”。设fxy(,)是图像灰度分布函数;sxy(,)是图像边缘的梯度值;(,)xy是梯度的方向。1222则有sxy(,)fxny(,)fxy(,)fx
2、yn(,)fxy(,)(1)(n=1,2,...)1(,)xytanfxyn(,)fxy(,)/fxny(,)fxy(,)(2)式(1)与式(2)可以得到图像在(x,y)点处的梯度大小和梯度方向。将式(1)改写为:1222gxy(,)fxy(,)fx(1,y1)fx(1,)yfxy(,1)(3)gxy(,)称为Roberts边缘检测算子。式中对fxy(,)等的平方根运算使该处理类似于人类视觉系统的发生过程。事实上Roberts边缘检测算子是一种利用局部差分方法寻找边缘的算子
3、,Robert梯度算子所采用的是对角方向相邻两像素值之差,所以用差分代替一阶偏导,算子形式可表示如下:fxy(,)fxy(,)fx(1,y1)x(4)fxy(,)fx(1,)yfxy(,1)y上述算子对应的两个22模板如图(A)所示。实际应用中,图像中的每个像素点都用这两个模板进行卷积运算,为避免出现负值,在边缘检测时常提取其绝对值。10010-1-10(a)(b)第1页图(A)Robert算子模板Sobel算子该算子是由两个卷积核gxy(,)与gxy(,)对原图像fxy(,)进行卷积运算而得到的。12其数学表
4、达式为:MNMNSxy(,)MAXfmngimjn(,)(1,),fmngimjn(,)2(,)(5)m1n1m1n1实际上Sobel边缘算子所采用的算法是先进行加权平均,然后进行微分运算,我们可以用差分代替一阶偏导,算子的计算方法如下:xfxy(,)fx(1,y1)2(,fxy1)fx(1,y1)fx(1,y1)2(,fxy1)fx(1,y1)yfxy(,)fx(1,y1)2(fx1,)yfx(1,y1)fx(1,y1)2
5、(fx1,)yfx(1,y1)(6)Sobel算子垂直方向和水平方向的模板如图(B)所示,前者可以检测出图像中的水平方向的边缘,后者则可以检测图像中垂直方向的边缘。实际应用中,图像中的每一个像素点都用这两个卷积核进行卷积运算,取其最大值作为输出。运算结果是一幅体现边缘幅度的图像。-1-2-1-101000-202121-301(a)(b)图(B)Sobel算子模板Prewitt算子Prewitt边缘检测算子就是一种利用局部差分平均方法寻找边缘的算子,它体现了三对像素点像素值之差的平均概念,因为平均能减少或消除噪声,为此我们可以先求
6、平均,再求差分,即利用所谓的平均差分来求梯度。用差分代替一阶偏导可得算子形式如下:xfxy(,)fx(1,y1)fxy(,1)fx(1,y1)fx(1,y1)fxy(,1)fx(1,y1)yfxy(,)fx(1,y1)fx(1,)yfx(1,y1)fx(1,y1)fx(1,)yfx(1,y1)(7)Prewitt边缘检测算子的两个模板如图(C)所示,它的使用方法同Sobel算子一样,图像中的每个点都用这两个核进行卷积,取得最大值作为输出。Prewit
7、t算子也产生一幅边缘图像。第2页-1-1-110-100010-111110-1(a)(b)1.1.1.1.1.1.1.1图(C)Prewitt算子模板Laplace算子对于阶跃状边缘,其二阶导数在边缘点出现过零交叉,即边缘点两旁的二阶导数取异号,据此可以通过二阶导数来检测边缘点。拉普拉斯边缘检测算子正是对二维函数进行二阶导数运算的标量算子,它的定义是:222fxy(,)fxy(,)fxy(,)(8)22xy用差分代替二阶偏导时,与前述三个一阶导数算子不同,拉普拉斯算子的形式可表示如下:2fxy(,)fx(1,)yf
8、x(1,)yfxy(,1)fxy(,1)4(,)fxy2fxy(,)fx(1,y1)fxy(,1)fx(1,y1)fx(1,