拉普拉斯算子(Laplace Operator)
拉普拉斯算子(Laplace Operator)为标量算子(a scalar operator):两个梯度向量算子(gradient vector operator)的内积(dot product,inner product)
△=▽⋅▽=▽2=[∂x1∂⋯∂xN∂]⎣⎢⎡∂x1∂⋮∂xN∂⎦⎥⎤=n=1∑N∂xn2∂2
N=2维空间中,
△=▽⋅▽=▽2=[∂x∂∂y∂][∂x∂∂y∂]=∂x2∂2+∂y2∂2
将拉普拉斯算子作用于(apply to)二维函数f(x,y),得到标量函数
△f(x,y)=∂x2∂2f+∂y2∂2f
离散情况(discrete case)下,用二阶差分(second order difference)代替二阶微分(second order differentiation)运算。
▽f[n]=f[n+1]−f[n]
则二阶差分为:
△f[n]=▽(▽f[n]):=▽f[n]−▽f[n−1]=(f[n+1]−f[n])−(f[n]−f[n−1])=f[n+1]−2f[n]+f[n−1]
为保证△f[n]以f[n]为中心对称,定义△f[n]:=▽f[n]−▽f[n−1]。拉普拉斯算子可通过一维卷积实现(1-D convolution with a kernel [1,−2,1])。
△f[m,n]:=△mf[m,n]+△nf[m,n]=f[m+1,n]−2f[m,n]+f[m−1,n]+f[m,n+1]−2f[m,n]+f[m,n−1]=f[m+1,n]+f[m−1,n]+f[m,n+1]+f[m,n−1]−4f[m,n]
相应二维卷积核(2-D convolution kernel)为
⎣⎡0101−41010⎦⎤or⎣⎡1111−81111⎦⎤
拉普拉斯算子是一种高通滤波器(high-pass filtering kernels),f[n]的边缘可通过检测△f[n]的过零(zero crossing)点实现。
伪码