电脑分区-独显是什么意思

分水岭算法
2023年4月3日发(作者:sd是什么)

图像分割——分⽔岭算法

分⽔岭图像分割算法借助地形学概念进⾏图像分割,近年来⼴泛使⽤。

1.基本原理和步骤

1)原理

分⽔岭⽅法将图像看作3-D的地形表⽰,即2-D的地基(对应图像空间)加上三维的⾼度(对应图像灰度)。

实际中建⽴不同⽬标间的分⽔岭的过程常借助涨⽔法(⽔从低上涨)来讨论。如图1所⽰

假设有⽔从各⾕底空涌出并且⽔位逐渐增⾼,如果两个相邻的⾕底(区域A和B)涌出的⽔位⾼过其间的峰间这些谁就会汇合。这个汇合的点就

是分⽔岭。

图1

由此可见,如果能确定分⽔岭的位置,就能将图像⽤⼀组各⾃封闭的曲线分割成不同的区域。

分⽔岭图像分割算法就是通过确定分⽔岭的位置来进⾏图像分割的。⼀般考虑到各区域内部像素的灰度⽐较接近,⽽相邻区域像素间的灰度

差距较⼤,可以先计算⼀幅图像的梯度图,再寻找梯度图的分⽔岭。

在梯度图中,⼩梯度值对应区域内部,⼤梯度值对应区域的边间,分⽔岭算法寻找⼤梯度值像素的位置,即边界位置。

2)借助数学形态学中的膨胀运算迭代计算分⽔岭的⽅法

2.1)设给定⼀幅待分割图像f(x,y),梯度图像g(x,y),分⽔岭的计算是在梯度图像上进⾏的。

2.2)⽤M1,M2,...,Mn表⽰各局部极⼩值的像素位置,C(Mi)为对应的Mi对应区域中像素坐标的集合⽤n代表当前的梯度阈值,

T[n]代表记为(u,v)的像素集合,g(u,v)

T[n]={(u,v)|g(u,v)

梯度阈值从图像梯度范围的最低值整数增加。当梯度阈值为n时,g(x,y)

对Mi所在的区域满⾜条件的坐标集合C(Mi)可看做⼀幅⼆值图像:Cn(Mi)=C(Mi)∩T[n],即同时在C(Mi)区域和T[n]区域的地⽅

Cn(Mi)=1,否则为0。

⽤C[M]代表所有梯度阈值为n时图像中所有满⾜梯度值⼩于n的像素集合:C[n]=∪Cn(Mi)i

灰度范围的最⼤值。

2.3)初始化C[min+1]=t[min+1],然后逐渐迭代进⾏。设在步骤n时,以建⽴C[n-1-1],下⾯考虑从C[n-1]得到C[n].

令S代表T[n]中连通组元的集合,每个连通组元s∈S[n]时,有三种情况:

2.3.1)s∩C[n-1]是空集--C[n]=s+C[n-1]

2.3.2)s∩C[n-1]包含C[n-1]中的⼀个连通组元--C[n]=s+C[n-1]

2.3.3)s∩C[n-1]包含C[n-1]中⼀个以上的组元--需要在s中建⽴分⽔岭,对s∩C[n-1]进⾏膨胀

2.实现

此实现⽤的是改进后的⽔平集⽅法,利⽤标号控制分割。

1)OpenCV源代码的解读

2)具体应⽤过程

参考⽂献:

2)章毓晋.图像⼯程:图像分析[M].清华⼤学出版社,2012.(⽂字部分来源)

更多推荐

分水岭算法