离散的一阶微分
离散的一阶微分定义为差分,如二维离散函数 f ( x , y ) \ f(x,y) f(x,y) (图像其实就可以看作一种二维离散函数,因为其反映的是不同像素点在x 和 y 轴方向上灰度的变化)在 x 方向上的一阶微分为 :
σ f σ x = f ( x + 1 , y ) − f ( x , y ) \ \frac{\sigma f}{\sigma x} = f(x+1,y) - f(x,y) σxσf=f(x+1,y)−f(x,y)
可简单理解为 f ( x , y ) \ f(x,y) f(x,y)函数在 x 方向上的变化量
离散的二阶微分
类似地,其二阶微分定义为:
σ 2 f σ x 2 = [ f ( x + 1 , y ) − f ( x , y ) ] − [ f ( x , y ) − f ( x − 1 , y ) ] \ \frac{\sigma^2 f}{ \sigma x^2} = [f(x+1,y) - f(x,y)] - [f(x,y) - f(x-1,y)] σx2σ2f=[f(x+1,y)−f(x,y)]−[f(x,y)−f(x−1,y)]
= f ( x + 1 , y ) + f ( x − 1 , y ) − 2 f ( x , y ) \ = f(x+1,y)+f(x-1,y) - 2f(x,y) =f(x+1,y)+f(x−1,y)−2f(x,y)
可简单理解为一阶微分的变化的差值,或者一阶微分变化的变化。一阶微分(偏导) 反映灰度变化的快慢,而二阶微分(偏导)反映的是灰度变化曲线频率变化的剧烈程度(突变),很多时候仅有灰度的变化(一阶微分),但并不能证明此处出现了边缘或结构信息,而二阶微分恰恰弥补了这一缺陷。例如:
图片来自于 https://zhuanlan.zhihu.com/p/557371171
上面这张渐变图其实在x 方向上一直都有灰度的变化,但是其上并没有出现所谓边缘信息。
Laplace 算子
拉普拉斯算子的定义式如下:
∇ 2 f = σ 2 f σ x 2 + σ 2 f σ y 2 \ \nabla^2 f = \frac{\sigma^2f}{\sigma x^2}+\frac{\sigma^2f}{\sigma y^2} ∇2f=σx2σ2f+σy2σ2f
即 x 方向和 y 方向的二阶微分之和。上式推广到离散领域则为:
x方向:
σ 2 f σ x 2 = f ( x + 1 , y ) + f ( x − 1 , y ) − 2 f ( x , y ) \ \frac {\sigma^2f}{\sigma x^2} = f(x+1,y)+f(x-1,y) - 2f(x,y) σx2σ2f=f(x+1,y)+f(x−1,y)−2f(x,y)
y方向:
σ 2 f σ y 2 = f ( x , y + 1 ) + f ( x , y − 1 ) − 2 f ( x , y ) \ \ \frac {\sigma^2f}{\sigma y^2} = f(x,y+1)+f(x,y-1) - 2f(x,y) σy2σ2f=f(x,y+1)+f(x,y−1)−2f(x,y)
则
∇ 2 f ( x , y ) = f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) − 4 f ( x , y ) \ \nabla^2 f(x,y) = f(x+1,y)+f(x-1,y) + f(x,y+1)+f(x,y-1) - 4f(x,y) ∇2f(x,y)=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x,y)
直观理解,标准的Laplace算子所做的事情其实就是将一个3x3邻域内中心点上下左右的值之和,减去中心值,如上图a 所示。图b,c,d 是该公式的不同拓展。
标准的Laplace算子只对十字方向的像素点进行处理,图b则将其拓展到了对角线领域,因为多考虑了4个点,所以最终公式里的 − 4 f ( x , y ) \ -4f(x,y) −4f(x,y) 要变为 − 8 f ( x , y ) \ -8f(x,y) −8f(x,y) , 对应到图像就是把中心点从 -4 给替换为 -8 。图 c ,d 则分别为 a ,b 图的相反情况。若中心点的系数为正数,则需要将Laplace算子处理后的图像叠加到原图上,才能看出差别。反之,则从原图减去它。用公式表示如下:
这其实可以这么理解,图a中,中心点为负数,上下左右都是正数,经过Laplace算子处理后 (对应位置相乘再相加),如果中心的上下左右都是有灰度变化的(对应点不为0),那么判定该中心点位于边缘内,那么经此处理后,边缘中心的灰度值会变小,而周围上下左右灰度值不变,因而最后输出的图像中,只有边缘周围上下左右部分的灰度值被保留,而边缘部分则趋于0或等于0 (小于0的部分会被截断为0),因此需要变号 (公式中令c = -1) ,即从原图中减去Laplace算子处理后的图像,使得边缘中心的灰度值变大,而边缘周围的灰度值减少,就表现为原图中的边缘(轮廓)部分被增强了,反之同理。