fspecial('sobel')和edge(i,'sobel')matlab之间的区别

时间:2013-08-13 03:03:57

标签: matlab

我目前正在进行一项任务,我处于这两种调用sobel运算符的方式之间。

一个是fil = fspecial('sobel'); h = imfilter(image,fil);

第二个是im = edge(image , 'sobel') ;

第二个的效果非常期待,它以更明显的方式显示边缘,而我无法掌握第一个人正在做什么。

1 个答案:

答案 0 :(得分:2)

不是边缘检测方面的专家,但查看EDGEFSPECIAL的MATLAB文档,表明fspecial('sobel')生成了一个强调水平<3的3乘3过滤器/ em> edge,您应该将其转置为强调垂直边缘。另一方面,EDGE似乎使用更通用的算法。那可以解释为什么EDGE的结果看起来更像你的期望。