我并没有真正理解他们是如何得出导数方程的。有人可以详细解释一下,甚至可以提供一个有足够数学解释的链接吗?
拉普拉斯滤波器看起来像
拉普拉斯先生提出了这个等式。这就是拉普拉斯算子的简单定义:二阶导数之和(您也可以将其视为Hessian 矩阵的迹)。
您显示的第二个方程是二阶导数的有限差分逼近。这是您可以对离散(采样)数据进行的最简单的近似。导数定义为斜率(来自维基百科的方程式):
在离散网格中,最小值h
为 1。因此导数为f(x+1)-f(x)
。这个导数,因为它使用x
右边和右边的像素,引入了半像素偏移(即计算这两个像素之间的斜率)。要获得二阶导数,只需计算导数结果的导数:
f'(x) = f(x+1) - f(x)
f'(x+1) = f(x+2) - f(x+1)
f"(x) = f'(x+1) - f'(x)
= f(x+2) - f(x+1) - f(x+1) + f(x)
= f(x+2) - 2*f(x+1) + f(x)
因为每个导数都会引入半像素偏移,所以 2阶导数最终会产生 1 像素偏移。所以我们可以将输出左移一个像素,从而没有偏差。这导致了序列f(x+1)-2*f(x)+f(x-1)
。
计算这个二阶导数与使用过滤器进行卷积相同[1,-2,1]
。
应用这个过滤器,以及它的转置,并添加结果,相当于与内核卷积
[ 0, 1, 0 [ 0, 0, 0 [ 0, 1, 0
1,-4, 1 = 1,-2, 1 + 0,-2, 0
0, 1, 0 ] 0, 0, 0 ] 0, 1, 0 ]