分水岭是指将不同水系的排水区域分开的山脊。集水区是指排入河流或水库的地理区域。
那么分水岭和集水区与分析生物组织、研究星系或研究新的半导体技术有什么关系呢?这和图像处理?
这种联系是通过计算机分析数字图像中的物体来实现的。这些物体可以是任何东西:血细胞、星星、打印页面上的墨粉点、DNA微阵列元素,甚至是量子半导体点,就像这张照片一样。
计算机对图像对象的分析首先要找到它们,然后决定哪些像素属于每个对象。这被称为图像分割,即将对象与背景以及彼此分离的过程。R.冈萨雷斯和R.伍兹在他们广泛使用的教科书中写作(数字图像处理)“非平凡图像的分割是图像处理中最困难的任务之一。分割精度决定了计算机分析程序的成败。”
最新版本(版本3)的图像处理工具箱包括计算和应用分水岭变换的新功能,分水岭变换是解决图像分割问题的强大工具。
理解分水岭变换要求您将图像视为一个曲面。例如,考虑下面的图片:
多维图像处理 |
示例1:分割二值图像
考虑在这个二值图像中分离两个触摸物体的任务。我们如何修改这个图像,使它的流域是两个圆形物体?
为此,我们将使用图像处理工具箱中的另一个新工具:bwdist
,它计算距离变换.二值图像的距离变换是从每个像素到最近的非零值像素的距离,如下例所示。
二值图像的距离变换,用bwdist(BW)
,看起来像图A(左)。
这个图像不是很有用,因为整个图像只有一个集水区。相反,尝试计算图像的补码的距离变换:
D=bwdist(~BW);%B图像(上图)
这张图像更近,但我们需要抵消距离变换,将两个明亮区域变成集水区。
D=-bwdist(~BW);%C图像(上图)
现在每个对象都有一个流域,所以我们称之为流域函数。L
=
流域(D);
L
被称为标签矩阵,它包含对应于每个流域位置的正整数。我们可以使用L
,位于分水岭线上,用于分离原始图像中的物体。
Bw (l == 0) = 0;imshow(BW) %分割图像D(上图)
例2:分割量子点
量子点图像需要做更多的工作才能适合于分水岭分割。首先,我们将图像转换为灰度,并使用形态学顶帽算子(许多新的灰度形态学工具之一)与一个圆盘形状的结构元素来平滑不均匀的光照。
I = rgb2gray (RGB);I2 = imtophat(I, strel('磁盘',10));/ /删除磁盘
其次,我们使用一个新函数,名为graythresh
以确定将图像转换为二值化的良好阈值。
级别=灰度阈值(I2);BW=im2bw(I2,级别);
最后,我们计算补充二值图像的距离变换,修改它使背景成为其自己的流域,并计算流域变换label2rgb
用于使用不同颜色显示分段对象。
D=-bwdist(~BW);D(~BW)=-Inf;L=流域(D);imshow(label2rgb(L,'jet','w'))
例3:钢粒分割
最后一个例子是钢铁颗粒的显微镜图像,它看起来像是一个自然的分水岭分割,因为光线区域已经被暗线很好地分开了。
我们可以简单地计算补充图像的分水岭。
L =分水岭(imcomplement (I));
不幸的是,这不太管用,正如您在下面看到的:
结果,过度分段,是分水岭分割中一个众所周知的现象。过度分割的发生是因为每一个区域最小值,即使很小和不重要,也会形成自己的集水盆地。一种解决方案是修改图像,删除太浅的极小值。这就是h-极小值转化(imhmin
)。
I2 = imcomplement(我);I3 = imhmin (I2, 20);%20为抑制浅层最小值的高度阈值L =分水岭(I3);
这是大大改进的结果。
您已经阅读了使用分水岭变换分割图像的几种方法。另一种称为标记控制分水岭分割的技术在图像处理工具箱页.要了解更多关于如何在您自己的作品中使用分水岭转换的信息,请查看For Further Reading。
图像处理工具箱3的新增功能
63个新的工具箱功能大大扩展了其在以下主要领域的功能:
- 灰度形态学
- 空间的转换
- 图像配准
- 图像去模糊
- DICOM导入
- 多维图像处理
- 整数图像算法与滤波
- 便于在易于使用的图形环境中进行仪器控制的工具
- 用于确定计算机可用硬件的函数
- 在一个MATLAB会话内与多个仪器通信
有关新版本的更多信息,请参阅图像处理工具箱页.