Computer vision 边缘检测技术
有人知道Prewitt、Sobel和Laplacian算子在边缘检测算法中的区别吗 有些人比其他人好吗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 对于该信号,拉
不同的算子在不同的情况下使用吗?拉普拉斯算子是一个二阶导数算子,另外两个是一阶导数算子,因此它们在不同的情况下使用。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α成比例,其中α是梯度的角度,并且每个角度的两个平方和应相同
- 拐弯处的行为
最后,这些属性之间总会有一个折衷,其中哪一个更重要取决于应用程序。谢谢Nikie,这是一个非常好的回答,也是我想要的。接受答案:)。英特尔的Jähne测试模式显然改变了位置(上面答案中的死链接),我在这里找到了它们:
Laplace result: 0 0 0 1 -1 0 0 0