Computer vision 边缘检测技术

Computer vision 边缘检测技术,computer-vision,edge-detection,Computer Vision,Edge Detection,有人知道Prewitt、Sobel和Laplacian算子在边缘检测算法中的区别吗 有些人比其他人好吗 不同的算子在不同的情况下使用吗?拉普拉斯算子是一个二阶导数算子,另外两个是一阶导数算子,因此它们在不同的情况下使用。Sobel/Prewitt测量坡度,而Laplacian测量坡度的变化 示例: 如果您有一个具有恒定斜率(梯度)的信号: 一阶导数滤波器(Sobel/Prewitt)将测量斜率,因此滤波器响应为 Sobel result: 2 2 2 2 2 2 2 对于该信号,拉

有人知道Prewitt、Sobel和Laplacian算子在边缘检测算法中的区别吗

有些人比其他人好吗


不同的算子在不同的情况下使用吗?

拉普拉斯算子是一个二阶导数算子,另外两个是一阶导数算子,因此它们在不同的情况下使用。Sobel/Prewitt测量坡度,而Laplacian测量坡度的变化

示例:

如果您有一个具有恒定斜率(梯度)的信号:

一阶导数滤波器(Sobel/Prewitt)将测量斜率,因此滤波器响应为

Sobel result:      2 2 2 2 2 2 2 
对于该信号,拉普拉斯滤波器的结果为0,因为斜率是恒定的

示例2:如果有边缘信号:

Edge:            0 0 0 0 1 1 1 1 
sobel滤波结果有一个峰值;峰值的符号取决于边缘的方向:

Sobel result:    0 0 0 1 1 0 0 0
拉普拉斯滤波器产生两个峰值;边缘的位置与拉普拉斯滤波器结果的过零相对应:

Laplace result:  0 0 0 1 -1 0 0 0
所以,如果你想知道边缘和方向,你可以使用一阶导数滤波器。此外,拉普拉斯滤波器比索贝尔或普雷维特滤波器对噪声更敏感

另一方面,Sobel和Prewitt滤波器非常相似,用于相同的目的。一阶导数滤波器之间的重要区别如下

  • 对噪声的敏感性
  • 各向异性:理想情况下,X/Y的滤波结果应与sinα和cosα成比例,其中α是梯度的角度,并且每个角度的两个平方和应相同
  • 拐弯处的行为
这些特性可以通过人工测试图像来测量(如中的著名图像)。不幸的是,我在那本书中没有找到任何关于Prewitt算子的东西,所以你必须自己做实验


最后,这些属性之间总会有一个折衷,其中哪一个更重要取决于应用程序。

谢谢Nikie,这是一个非常好的回答,也是我想要的。接受答案:)。英特尔的Jähne测试模式显然改变了位置(上面答案中的死链接),我在这里找到了它们:
Laplace result:  0 0 0 1 -1 0 0 0