1
基于MATLAB的数字图像处理研究
1.7.5.3 5.5.3 动态阈值

5.5.3 动态阈值

这类算法的时间和空间复杂性比较大,但抗噪声能力强,对一些用全局阈值不易分割的图像有较好的分割效果,如对二值化文档图像采用该分割具有较好的性能。

分水岭阈值分割是处理动态阈值最好的方法。假设在每个区域最小值的位置上打一个洞,并且让水以均匀的上升速率从洞中涌出,从低到高淹没整个地形。当处在不同的汇聚盆地中的水将要聚合在一起时,修建的大坝将阻止聚合,水将只能到达大坝的顶部处与水线之上的程度。这些大坝的边界对应于分水岭的分割线。

分水岭概念是以对图像进行三维可视化处理为基础的。其中两个是坐标,另一个是灰度级。对于这样一种“地形学”的解释,需考虑三点:属于局部性最小值的点;当一滴水放在某点的位置上的时候,水一定会下落到一个单一的最小值点;当水处在某个点的位置时,水会等概率地流向不止一个这样的最小值点。

MATLAB图像处理工具箱中提供了实现基于分水岭算法的图像分割函数watershed(),以及求反色图像函数imcomplement()。图5-34是一幅原始的花朵彩色图像,图5-35是转换后的灰度图像,图5-36是对应的反色图像,图5-37是用分水岭法提取的结果。程序代码如下:

f=imread('flower.jpg');

imshow(f);

f=rgb2gray(f);

figure,imshow(f);

se=strel('disk',15);

Itop=imtophat(f,se);

Ibot=imbothat(f,se);

Ienhance=imsubtract(imadd(Itop,f),Ibot);

Iec=imcomplement(Ienhance);

figure,imshow(Iec);

Iemin=imextendedmin(Iec,20);

Iimpose=imimposemin(Iec,Iemin);

wat=watershed(Iimpose);

figure,imshow(wat)。

img137

图5-34

img138

图5-35

img139

图5-36

img140

图5-37