【发布时间】:2013-12-26 11:06:21
【问题描述】:
我是图像处理的新手,必须进行一些边缘检测。我知道有两种类型的检测器——高斯和拉普拉斯,它们分别寻找最大值和零交叉。我不明白这是如何通过简单地将图像与 2d 内核卷积来实现的。我的意思是卷积如何等于找到最大值和过零?
【问题讨论】:
标签: image-processing edge-detection
我是图像处理的新手,必须进行一些边缘检测。我知道有两种类型的检测器——高斯和拉普拉斯,它们分别寻找最大值和零交叉。我不明白这是如何通过简单地将图像与 2d 内核卷积来实现的。我的意思是卷积如何等于找到最大值和过零?
【问题讨论】:
标签: image-processing edge-detection
拉普拉斯零交叉是二阶导数运算,因为局部最大值与二阶导数中的零交叉等效。所以可以写成f_xx+f_yy。如果我们使用一维向量来表示f_xx 和f_yy,则为[-1 2 -1] (f(x+1,y)-2*f(x,y)+f(x-1,y))。由于拉普拉斯算子是f_xx + f_yy,因此可以在二维内核中重新表述:
0 -1 0
-1 4 -1
0 -1 0
或者如果你也考虑对角线元素,它是:
-1 -1 -1
-1 8 -1
-1 -1 -1
另一方面,这里使用高斯核作为低通滤波器进行缩放。缩放比例由 sigma 控制。这主要增强了不同宽度的边缘。基本上,sigma 越大,增强的边缘越厚。
结合拉普拉斯算子和高斯算子在数学上等价于G_xx + G_yy,其中 G 是高斯核。但通常人们使用Difference of Gaussian而不是Laplacian of Gaussian来降低计算成本。
【讨论】: