冈萨雷斯《数字图像处理》学习笔记(5)--图像分割
一、点、线和边缘检测
这里用的图像检测方法主要是滤波操作。模板在图像中任意一点的响应R由下式给出:
其中, 是与模板系数 相关的像素的灰度。
下面是点检测的模板:
线检测的模板如下(分别检测水平,45度,垂直和-45度的线):
在谈边缘检测前,先看些基础知识:
二维函数的梯度定义如下:
幅值定义为:
可以用下列两种方式近似:
边缘检测使用如下两个准则之一来找到图像中灰度快速变化的位置:
- 寻找灰度的一阶导数的幅度大于某个指定的阈值。
- 寻找灰度的二阶导数有零交叉的位置。
我们可以从下面的图看出为什么要使用上面两个准则。
很明显一阶导数幅度大的地方表示图像灰度变化十分剧烈,同理二阶导数的零交叉点也是灰度变化十分剧烈的位置。
又根据导数在数值上可近似为差分。我们利用如下滤波器可以达到边缘检测的目的。
LoG检测器
考虑高斯函数:
该函数的拉普拉斯算子是(即二阶微分):
使用它卷积的效果: 平滑图像,降低噪声,产生一幅双边缘图像。因此可以通过双边缘之间的零交叉来定位边缘。
二、霍夫变换
采用Hough变换时,我们考虑一个点 和所有通过该点的直线。很明显,有无数条经过点 的直线,这些线对某些a值和b值来说,均满足 。将该公式写为 并考虑ab平面(也称为参数空间),可对一个固定点 产生单独的一条直线。此外,第二个点 也有这样一条在参数空间上与它相关的直线,这条直线和与 相关的直线相交于点 ,其中a’和b’分别是xy平面上包含点 和 的直线的斜率和截距。事实上,在这条直线上的所有点都有在参数空间中相交于点 的直线。下图说明了这些概念。
但这种方法在直线趋近于垂直时,a 的值将趋于无穷大。因此我们用法线来表示直线:
下图(a)说明了 和 的几何意义。图(b)中每一条曲线表示通过 的一族直线。图(c)是将参数空间离散化进行计算。
霍夫变换把参数空间细分为累加器单元。其中, (D是图像中两个对角之间的最远距离)。。最初每一个累加器单元数值设置为0。然后对图像中的每一个点 ,使用所有离散化后的 值代入公式 求出相应的 值(将 值四舍五入为沿 轴最接近的允许单元值 )。同时相应的累加器单元加1。上面的过程结束后,累加器表上记录下来的每个单元 (i,j) 的数值Q就意味着在xy平面上有Q个点位于线 上。该表中最大的所对应的 就是xy平面上共线点数数目最多的直线方程的参数。
三、阈值处理
全局阈值处理
使用 Otsu 方法进行最佳全局阈值处理
类间方差最大化的思想是方差越大,越接近正确分割图像的阈值。下面给出类间方差的表达式(假设选定一个阈值k,C1是灰度级为[0,1,2,3,…,k]的一组像素,C2是灰度级为[k+1,..,.L-1]的一组像素):
其中, 是集合C1发生的概率, 是集合C2发生的概率:
是集合C1像素的平均灰度, 是集合C2像素的平均灰度, 是全局均值:
定义类间方差与图像总灰度方差的比值为:
使用移动平均值的图像阈值处理
令 表示第 k+1 步扫描时所遇到的点的灰度,那么这个新点处的移动平均由下式给出:
使用下式实现分割:
其中K是[0,1]区间的常数, 是输入图像中点(x,y)处的移动平均。
四、分水岭图像分割
构建大坝(Dam Construction)
最简单的构建大坝的方法就是利用形态学运算——膨胀。
下图展示了第n-1步淹没的两个集水盆地:
接着展现了第 n 步淹没的结果:
最后构建水坝:
为了说明下文,令M1和M2表示两个区域中的最小值点坐标的集合。将集水盆地点的坐标集合与这两个在溢出的第n-1步的最小值点的坐标集合联系起来,在第n-1步溢出处,两个最小值分别表示为 和 。它们代表上图第一幅图的两个灰色区域。再令C[n-1]表示这两个集合的并集。上图第一幅图有两个连通分量,第二幅图只有一个连通分量。令q表示第二幅图的连通分量。注意到,第一幅图的两个连通分量可以由“与”操作()从q中提取出来。
分水岭算法
令 , 表示图像g(x,y)的区域最小值的坐标的集合, 表示与区域最小值 联系的集水盆地的点的坐标集合。令 表示集水盆地与淹没阶段n的区域最小值 联系的的点的坐标集合,最后令T[n] 表示满足 的坐标(s,t) 的集合。根据上面的理解,可看出 是由下式给出的一幅二值图像:
接下来,我们令C[n]表示在阶段n 中已被水淹没的集水盆地的并:
我们可以理解为:C[n-1]中的每一个连通分量都恰好包含在T[n]的一个连通分量。下面是分水岭算法的步骤: