拉普拉斯算子

拉普拉斯算子(Laplace Operator)

拉普拉斯算子(Laplace Operator)为标量算子(a scalar operator):两个梯度向量算子(gradient vector operator)的内积(dot product,inner product)

==2=[x1xN][x1xN]=n=1N2xn2\bigtriangleup = \bigtriangledown \cdot \bigtriangledown = \bigtriangledown^{2} = \begin{bmatrix} \frac{\partial}{\partial x_{1}} & \cdots & \frac{\partial}{\partial x_{N}} \end{bmatrix}\begin{bmatrix} \frac{\partial}{\partial x_{1}} \\ \vdots \\ \frac{\partial}{\partial x_{N}} \end{bmatrix} = \sum_{n = 1}^{N} \frac{\partial^{2}}{\partial x_{n}^{2}}

N=2N = 2维空间中,

==2=[xy][xy]=2x2+2y2\bigtriangleup = \bigtriangledown \cdot \bigtriangledown = \bigtriangledown^{2} = \begin{bmatrix} \frac{\partial}{\partial x} & \frac{\partial}{\partial y} \end{bmatrix}\begin{bmatrix} \frac{\partial}{\partial x} \\ \frac{\partial}{\partial y} \end{bmatrix} = \frac{\partial^{2}}{\partial x^{2}} + \frac{\partial^{2}}{\partial y^{2}}

将拉普拉斯算子作用于(apply to)二维函数f(x,y)f(x, y),得到标量函数

f(x,y)=2fx2+2fy2\bigtriangleup f(x, y) = \frac{\partial^{2} f}{\partial x^{2}} + \frac{\partial^{2} f}{\partial y^{2}}

离散情况(discrete case)下,用二阶差分(second order difference)代替二阶微分(second order differentiation)运算。

  • 对于一维函数,若一阶差分定义为:

f[n]=f[n+1]f[n]\bigtriangledown f[n] = f[n + 1] - f[n]

则二阶差分为:

f[n]=(f[n]):=f[n]f[n1]=(f[n+1]f[n])(f[n]f[n1])=f[n+1]2f[n]+f[n1]\begin{aligned} \bigtriangleup f[n] & = \bigtriangledown (\bigtriangledown f[n]) := \bigtriangledown f[n] - \bigtriangledown f[n - 1] \\ & = (f[n + 1] - f[n]) - (f[n] - f[n - 1]) \\ & = f[n + 1] - 2 f[n] + f[n - 1] \\ \end{aligned}

为保证f[n]\bigtriangleup f[n]f[n]f[n]为中心对称,定义f[n]:=f[n]f[n1]\bigtriangleup f[n] := \bigtriangledown f[n] - \bigtriangledown f[n - 1]。拉普拉斯算子可通过一维卷积实现(1-D convolution with a kernel [1,2,1][1, -2, 1])。

  • 二维情况:

f[m,n]:=mf[m,n]+nf[m,n]=f[m+1,n]2f[m,n]+f[m1,n]+f[m,n+1]2f[m,n]+f[m,n1]=f[m+1,n]+f[m1,n]+f[m,n+1]+f[m,n1]4f[m,n]\begin{aligned} \bigtriangleup f[m, n] & := \bigtriangleup_{m} f[m, n] + \bigtriangleup_{n} f[m, n] \\ & = f[m + 1, n] - 2 f[m, n] + f[m - 1, n] + f[m, n + 1] - 2 f[m, n] + f[m, n - 1] \\ & = f[m + 1, n] + f[m - 1, n] + f[m, n + 1] + f[m, n - 1] - 4 f[m, n] \\ \end{aligned}

相应二维卷积核(2-D convolution kernel)为

[010141010]or[111181111]\begin{bmatrix} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \\ \end{bmatrix} \text{or} \begin{bmatrix} 1 & 1 & 1 \\ 1 & -8 & 1 \\ 1 & 1 & 1 \\ \end{bmatrix}

拉普拉斯算子是一种高通滤波器(high-pass filtering kernels),f[n]f[n]的边缘可通过检测f[n]\bigtriangleup f[n]的过零(zero crossing)点实现。

拉普拉斯算子
拉普拉斯算子

伪码

拉普拉斯算子