4.2 基于微分的边缘检测
由于边缘为灰度值急剧变化的部分,很明显微分作为提取函数变化部分的运算能够在边缘检测与提取中利用。微分运算中有一阶微分(first differential calculus,也称梯度运算gradient)与二阶微分(second differential calculus,也称拉普拉斯运算Laplacian),都可以应用在边缘检测与提取中。
(1)一阶微分(梯度运算)
作为坐标点(x,y)处的灰度倾斜度的一阶微分值,可以用具有大小和方向的向量G(x,y)=(fx,fy)来表示。其中fx为x方向的微分,fy为y方向的微分。
fx、fy在数字图像中是用下式计算的:
(4.1)
微分值fx、fy被求出后,由以下的公式就能算出边缘的强度与方向。
【强度】:
(4.2)
【方向】:
(4.3)
边缘的方向是指其灰度变化由暗朝向亮的方向。可以说梯度算子更适于边缘(阶梯状灰度变化)的检测。
(2)二阶微分(拉普拉斯运算)
二阶微分L(x,y)是对梯度再进行一次微分,只用于检测边缘的强度(不求方向),在数字图像中用下式表示:
(4.4)
因为在数字图像中的数据是以一定间隔排列着,不可能进行真正意义上的微分运算。因此,如式(4.1)或式(4.4)那样用相邻像素间的差值运算实际上是差分(calculus of finite differences),为方便起见称为微分(differential calculus)。用于进行像素间微分运算的系数组被称为微分算子(differential operator)。梯度运算中的fx、fy的计算式(4.1),以及拉普拉斯运算的式(4.4),都是基于这些微分算子而进行的微分运算。这些微分算子如表4.1、表4.2所示的那样,有多个种类。实际的微分运算就是计算目标像素及其周围像素分别乘上微分算子对应数值矩阵系数的和,其计算结果被用作微分运算后目标像素的灰度值。扫描整幅图像,对每个像素都进行这样的微分运算,称为卷积(convolution)。
表4.1 梯度计算的微分算子
表4.2 拉普拉斯运算的微分算子