答案 0 :(得分:1)
拉普拉斯先生想出了这个等式。这只是Laplace运算符的定义:二阶导数之和(您也可以将其视为Hessian matrix的踪迹)。
您显示的第二个方程是二阶导数的finite difference approximation。您可以对离散(采样)数据进行最简单的近似。导数定义为斜率(与Wikipedia相等):
在离散网格中,最小的h
为1。因此,导数为f(x+1)-f(x)
。由于此导数使用x
处的像素和右侧的像素,因此引入了半像素位移(即,您计算了这两个像素之间的斜率)。要获得2 nd 阶导数,只需根据导数的结果计算导数:
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 nd 阶导数最终以一个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 ]