一.图像分割与不连续
图像分割(segmentation)的目的是把图像中的像素分组,每组像素和图像中的物体强相关。
图像分割需要确定图像中的不连续处,不连续处(discontinuity)包括孤立点、线段和边缘(edge)。我们首先介绍edge,其定义了图像中物体的形状。
边缘像素的特点是其往往是像素值发生突变的像素;而物体的内点则不同:在一个物体里,各像素的值波动不大。所以edge detection(边缘检测)的思想就是找到那些像素值发生突变的像素。这个突变有以下几种:
要么是斜坡(ramp),要么是更剧烈的台阶(step)。平坦段对应着物体内点。孤立的点(impulse)也可以视为边缘。
对于变化,我们很自然能够想到需要用导数描述。在Lesson 4里我们介绍了一阶导数、二阶导数和梯度。这将成为edge detection的工具。
二.Edge Detection
策略就是找到图像中像素值变化剧烈的点,所以我们需要能够衡量像素值变化的数学工具。
需要注意的点是,噪声、物体上的文字和边界一样都会带来像素值的剧变。一个good edge detector需要能够区分三者。
最后的结果是一张与原图一样大小的图像,只有edge像素或是在原图的基础上用不同颜色标注了edge像素。
我们需要学习的Edge Detection方法如下
三.基于微分方法的边缘检测
3.1一阶微分和二阶微分
我们在Lesson 4中学过基于图像的一阶微分逼近和二阶微分逼近。
一阶微分的前向逼近(forward difference):f(x+1) - f(x); mask = [0 -1 1] 。
一阶微分的后向逼近(backward difference):f(x) - f(x-1); mask = [-1 1 0] 。
一阶微分的中心逼近(central difference): f(x+1) - f(x-1); mask = [-1 0 1] 。
二阶微分的逼近: f(x+1) - 2f(x) + f(x-1); mask = [1 -2 1]。
上述mask的几何中心对应f(x)的权值。
一般而言,一阶微分对step能够很好地检测,但是定位上不够精确。