文档介绍:经典边缘检测算子比较一多种经典边缘检测算子原理介绍图像边缘对人视觉含相关键意义,通常而言,当大家看一个有边缘物体时,首先感觉到便是边缘。灰度或结构等信息突变处称为边缘。边缘是一个区域结束,也是另一个区域开始,利用该特征能够分割图像。需要指出是,检测出边缘并不等同于实际目标真实边缘。因为图像数据时二维,而实际物体是三维,从三维到二维投影肯定会造成信息丢失,再加上成像过程中光照不均和噪声等原因影响,使得有边缘地方不一定能被检测出来,而检测出边缘也不一定代表实际边缘。图像边缘有方向和幅度两个属性,沿边缘方向像素改变平缓,垂直于边缘方向像素改变猛烈。边缘上这种改变能够用微分算子检测出来,通常见一阶或两阶导数来检测边缘,以下图所以。不一样是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。(a)图像灰度改变(b)一阶导数(c)二阶导数基于一阶导数边缘检测算子包含Roberts算子、Sobel算子、Prewitt算子等,在算法实现过程中,经过(Roberts算子)或模板作为核和图像中每个像素点做卷积和运算,然后选择适宜阈值以提取边缘。拉普拉斯边缘检测算子是基于二阶导数边缘检测算子,该算子对噪声敏感。一个改善方法是先对图像进行平滑处理,然后再应用二阶导数边缘检测算子,其代表是LOG算子。前边介绍边缘检测算子法是基于微分方法,其依据是图像边缘对应一阶导数极大值点和二阶导数过零点。Canny算子是另外一类边缘检测算子,它不是经过微分算子检测边缘,而是在满足一定约束条件下推导出边缘检测最优化算子。1Roberts(罗伯特)边缘检测算子景物边缘总是以图像中强度突变形式出现,所以景物边缘包含着大量信息。因为景物边缘含有十分复杂形态,所以,最常见边缘检测方法是所谓“梯度检测法”。设是图像灰度分布函数;是图像边缘梯度值;是梯度方向。则有(1)(n=1,2,...)(2)式(1)和式(2)能够得到图像在(x,y)点处梯度大小和梯度方向。将式(1)改写为:(3)称为Roberts边缘检测算子。式中对等平方根运算使该处理类似于人类视觉系统发生过程。实际上Roberts边缘检测算子是一个利用局部差分方法寻求边缘算子,Robert梯度算子所采取是对角方向相邻两像素值之差,所以用差分替换一阶偏导,算子形式可表示以下:(4)上述算子对应两个模板图(A)所表示。实际应用中,图像中每个像素点全部用这两个模板进行卷积运算,为避免出现负值,在边缘检测时常提取其绝对值。100-101-10(a)(b)图(A)Robert算子模板2Sobel(索贝尔)边缘检测算子该算子是由两个卷积核和对原图像进行卷积运算而得到。其数学表示式为:(5)实际上Sobel边缘算子所采取算法是优异行加权平均,然后进行微分运算,我们能够用差分替换一阶偏导,算子计算方法以下:(6)Sobel算子垂直方向和水平方向模板图(B)所表示,前者能够检测出图像中水平方向边缘,后者则能够检测图像中垂直方向边缘。实际应用中,图像中每一个像素点全部用这两个卷积核进行卷积运算,取其最大值作为输出。运算结果是一幅表现边缘幅度图像。-1-2-1000121-101-202-301(a)(b)图(B)Sobel算子模板3Prewitt(普瑞维特)边缘检测算子Prewitt边缘检测算子就是一个利用局部差分平均方法寻求边缘算子,它表现了三对像素点像素值之差平均概念,因为平均能降低或消除噪声,为此我们能够先求平均,再求差分,即利用所谓平均差分来求梯度。用差分替换一阶偏导可得算子形式以下:(7)Prewitt边缘检测算子两个模板图(C)所表示,它使用方法同Sobel算子一样,图像中每个点全部用这两个核进行卷积,取得最大值作为输出。Prewitt算子也产生一幅边缘图像。10-110-110-1-1-1-1000111(a)(b)图(C)Prewitt算子模板4Laplacian(拉普拉斯)边缘检测算子对于阶跃状边缘,其二阶导数在边缘点出现过零交叉,即边缘点两旁二阶导数取异号,据此能够经过二阶导数来检测边缘点。拉普拉斯边缘检测算子正是对二维函数进行二阶导数运算标量算子,它定义是:(8)用差分替换二阶偏导时,和前述三个一阶导数算子不一样,拉普拉斯算子形式可表示以下:(9)拉普拉斯边缘检测算子模板图(D)所表示,模板基础特征是中心位置系数为正,其它位置系数为负,且模板系数之和为零。它使用方法是用图中两个点阵之一作为卷积核,和原图像进行卷积运算即可。拉普拉斯算子又是一个线性移不变算子,它传输函数在频域空间原点为零,所以,一个经拉普拉斯滤波过图像含有零平均灰度。拉普拉斯检测模板特点是各向同性,对孤立点及线端检测效果好,但边缘方向信息丢失,对噪声敏感,整体检测效果不如梯度算子。所以,它极少直接用于边缘检测。但注意到和Sobel算子相比,