(2-8)
(2-9)
两式的卷积模板分别为:
这样Roberts算子的梯度幅值近似为:
或者
当然同前面用卷积模板的效果一样,差分值是在点处计算,而不是点处。Roberts算子边缘检测算法的效果仿真如图2-1。
(原始图像) (仿真结果)
图2-1 Roberts算子边缘检测的效果仿真
2。1。2 Sobel算子
Sobel算子是在图像中用的卷积模板去做加权差分算法,通过对边缘点的四领域相邻点的灰度加权方法,然后判断边缘点处是否出现了极值来决定是否进行边缘检测,算子表达式如下:
(2-10)
(2-11)
上述两式的卷积模板分别如下:
这样Sobel算子的梯度幅值就近似为
或者
不过现在常用的Sobel算子都会加上180°,225°,270°以及315°八个方向上的算子。
如果对图像的边缘检测要求不高,一般都可以选择这种方法。Sobel算子能够平滑噪声以提供比较精确地边缘信息,但是,因为平滑操作对图像的影响,导致在图像中会检测出很多伪边缘,会降低边缘检测的精度。Sobel算子的仿真效果如图2-2。论文网
(原始图像) (仿真结果)
图2-2 Sobel算子的边缘检测仿真效果
2。2 二阶的微分边缘检测算子
在上一节中本文讨论了基于一阶导数的边缘检测算子,若图像中的某一点求出的一阶导数值大于给定的一个阈值,就可以判断该点为边缘点。但是这么做的话会导致检测出很多多余的边缘点,检测出来的边缘相比于原图像真正的边缘会粗很多。在这个算法的基础上,可以通过找出边缘点领域中一阶导数的最大极值的点,然后把这个点判断为边缘点,这样就能够得到更加精确的边缘了。一阶导数的最大值对应着二阶导数的零交叉点,也就是说如果能从一阶导数中的最大值找到边缘,那么也就能从二阶导数的零交叉点找到边缘[[[] 廖少俊。 图像边缘检测与应用。 西安科技大学硕士学位论文。 2010:10-30]]。
2。2。1 拉普拉斯算子
拉普拉斯算子是一种不会受到边缘方向影响的二阶导数算子,是一个标量,因为各向属性都是一样的特性,所以不会受到边缘方向的影响。如果不考虑周围领域的灰度变化时,可以使用此算子来提取图像的边缘。
算子的定义公式如下:
(2-12)
用差分方程去近似的求得二阶偏导数的结果为:
(2-13)
用类似的方法可以得到:
(2-14)
结合上面的两个式子就能够得到用近似的方法获得结果的拉普拉斯算子的卷积模板:
如果有的时候想让领域的中心点能有更大的权值,可以基于上述的模板得到:
如果二阶导数的结果曲线中有过零点,那么那个地方就存在边缘,不过要忽略掉其中的零线区域(它没有任何意义)。按理说,过零点的位置精度可以精确到图像的边缘的像素级,但是这种方法却不常用。因为二阶导数比一阶导数更容易受到噪声的影响,一阶导数中只要出现很小的抖动都可能会导致二阶导数出现零交叉点[[[] 王平顺。 图像处理技术在玻璃缺陷检测中的应用研究。 燕山大学硕士学位论文。 2005::20-33]],因此拉普拉斯算子本身的抗噪能力非常的低,低到让人无法接受。因为拉普拉斯算子超低的抗噪能力,人们提出了改进算子LoG算子来避免噪声的影响。 matlab基于形态学的数字图像处理(4):http://www.youerw.com/jisuanji/lunwen_90157.html