一.区域生长
算法概括:将具有相似性质的像素点连成合并在一起。每一个区域,要有一个种子点作为生长起点,然后将种子点周围所设置领域的像素点,按照生长规则进行生长合并,直到没有能满足生长点的像素为止。
算法步骤如下:
1.确定设置生长点规则,使用vector存储
2.确定生长条件,生长点领域
3.进行生长
二.均值迭代分割
算法概括:对于均值分割,就是迭代计算出一个T,使得阈值T能够把灰度图像分割成A,B两类,其中A为物体·,B为背景,满足条件:A的灰度均值T1加上B的灰度均值T2的均值等于T。
算法步骤如下:
1.初始化一个阈值T,通常取图像平均灰度值
2.根据阈值将灰度图像进行分割,计算A,B类图像灰度均值
3.更新阈值T,使得A的灰度均值加上B的灰度均值的均值等于T
4.重复2,3步骤,知道相邻T值相等,或两者差值在一定范围。
5.使用这个阈值对灰度图像进行二值化分割。
三.最大类间方差(OTUS)分割
算法概括:获得一个阈值T,使得以T为界限的A,B两部分灰度图之间的方差最大,最后利用T,进行二值化。
算法步骤如下:
待处理图像灰度值范围为[0,m−1], 记灰度值为i的像素个数为ni. 设初始最大方差为0
1.统计图像中不同灰度值的像素数量相加的总和N
2.计算每个灰度值i,属于[0,m-1],在图像中所占概率
3.假设当前i为x(使用i作为T,i属于[0,255],从i等于零开始循环,到255停止),那么把i作为阈值T,小于T的灰度作为一部分A,大于T的灰度作为一部分B,然后计算A,B之间的方差
其中
前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1,g为方差
4.将获得方差与最大方差比较,若小与最大方差,则最大方差不变,若大与最大方差,则把方差赋给最大方差,并且把i作为二值化的阈值。
5.重复3,4步,直到i大于255。
四.最大熵分割
算法概括:信息熵,当系统越混乱,不确定性越大时,信息熵越大,当系统越有序,确定性越高时,信息熵越小,因此可以使用这个方法分割物体与背景。信息熵计算式子如下:
上述式子中P(x),代表的是灰度x出现的频率,H表示信息熵
算法步骤:
1.i属于[0,255],i作为阈值,对灰度图进行区分,低于阈值的为背景B,高于阈值的为物体O,设置一个最大信息熵,其值为-1
2.计算每个灰度值在背景B,物体O中的比例(或者概率)
3.分别计算灰度i在背景,物体中的信息熵,并将两者信息熵相加,将得到的总和与最大信息熵对比,若大于则将总和赋给最大信息熵,将i设为二值化的阈值,小于的话,最大信息熵值保持不变
4.分别对图像中的每一个灰度进行2,3步骤,直到i大于255