【第10章】图像分割

10.2点,线和边缘检测

当横穿一个剖面时,二阶导数产生细边缘,能增强细节,对于斜坡产生双边缘响应,能区分过渡类型;一阶导数产生粗边缘,对噪声相对不敏感。

孤立点的检测:拉普拉斯算子:g(x,y)=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y)

线的检测:建立模板响应不同方向的线

梯度:[gx,gy]

梯度的大小,也简称为梯度,为sqrt(gx^2+gy^2)

梯度的方向为arctan[gy/gx]

梯度算子:

罗伯特梯度算子为gx=(z9-z5),gy=(z8-z6)

Prewitt算子为gx=(z7+z8+z9)-(z1+z2+z3),gy=(z3+z6+z9)-(z1+z4+z7)

Sobel算子为gx=(z7+2z8+z9)-(z1+2z2+z3),gy=(z3+2z6+z9)-(z1+2z4+z7),相对Prewitt算子可以平滑图像,抑制噪声

一般计算时,为了减少计算量,近似M(x,y)=|gx|+|gy|

可以修改以上两种3*3模板来响应对角线方向

梯度的处理也可以和阈值相结合

10.2.6更先进的边缘检测技术/10.2.7边缘连接和边界检测有点难度,不过好像还挺重要,之后再看

10.3阈值处理

当图像受噪声或者光照作用,很难直接找到用于分割的阈值

阈值处理可视为一个统计决策问题,Otsu方法能使类间方差最大化

书上详细地推导了类间方差的计算公式(p481)

有了这个公式之后,枚举分割的像素位置,找使得方差最大的像素就可以了(不过既然有一定的单调性,也许可以用三分加速?)

若用图像平滑改善全局阈值处理,结果会很棒,但边界误差会增大

对于有噪声的太小的区域,无论是否平滑,Otsu方法的表现都不好,这时可以用边缘改进

边缘改进的主要思想是利用边缘附近的像素,用这些像素计算出阈值来进行阈值处理

可变阈值处理的方法有图像分块,基于局部图像特性和使用移动平均

10.4基于区域的分割

可以选取种子点,不断合并种子点周围的相近点的方法来区域生长

可以将不满足某条件(如方差过大,均值过小等)区域不断四分,再合并

10.5用形态学分水岭的分割

主要应用之一是从背景中提取近乎一致的物体

把灰度图想象成一个地形图,不断往里面加水来提高水位,当两各盆地要联通时,可能需要通过寻找互相膨胀的点来构筑水坝

这样做可能会导致分水线过多,这可以通过将附加知识应用于分割过程,预处理地解决

具体是指寻找与感兴趣的物体相联系的内部标记(规则见p501),以这些内部标记作为区域最小值计算分水岭,将分水线作为与背景相联系的外部标记,然后使用某种分割算法即可,也可以对每个区域再进行分水岭分割算法

10.6分割中运动的应用

空间域上的基本方法是通过阈值来区分,但这会使得噪声也被考虑,可以通过四联通或八联通区域中的计数来进一步区分,不过这又会导致忽略掉小的或者慢速运动的物体

累积差值有三种方法,绝对ADI,正ADI和负ADI

10.6.2频率域技术有点超出能力范围(其实仔细看应该也能看懂不过没必要了),以后再看

你可能感兴趣的:(【第10章】图像分割)