技术文章和通讯

分水岭变换:图像分割策略

Steve Eddins, MathWorks


“分水岭”一词指的是将被不同河流系统排水的地区划分开来的山脊。集水区是指排入河流或水库的地理区域。

那么,流域和汇水盆地与分析生物组织、研究星系或研究新的半导体技术有什么关系呢?这和什么有联系图像处理?

这种联系是通过计算机对数字图像中的物体进行分析得出的。这些物体可以是任何东西:血细胞、星星、打印页面上的墨粉点、DNA微阵列元素,甚至像这张照片中的量子半导体点。

watershed_fig1_w.jpg
在砷化铟沉积到砷化镓上时形成的量子半导体点的原子力显微镜图像。(由剑桥大学半导体物理组的Ian Farrer提供。)

计算机对图像对象的分析从找到它们开始——决定哪些像素属于每个对象。这被称为图像分割,即将物体从背景中分离出来,同时也将物体彼此分离出来的过程。冈萨雷斯和伍兹在他们广泛使用的教科书(数字图像处理“非平凡图像的分割是图像处理中最困难的任务之一。分割的准确性决定了计算机分析程序的成败。

图像处理工具箱的最新版本(版本3)包括计算和应用分水岭变换的新功能,这是一个解决图像分割问题的强大工具。

理解分水岭变换需要把图像看作一个曲面。例如,考虑下图:

watershed_fig3_w.jpg
合成了两个暗斑点的图像。
watershed_fig9_w.gif
如果你想象明亮的区域是“高”,黑暗的区域是“低”,那么它可能看起来像表面(左图)。对于表面,很自然地就会想到集水盆地和分水岭线。图像处理工具箱的分水岭功能可以为任何灰度图像找到流域和分水岭线。使用分水岭变换进行分割的关键是:将您的图像更改为另一个图像,其流域是您想要识别的对象。

多维图像处理
许多新的图像处理工具箱功能支持多维图像处理。万博1manbetx封面上所示的表面将这个二值图像示例扩展到三维。图形显示了两个球面接触物体、透明的距离变换等值面以及三维分水岭变换的分割结果。工具箱中的新的去模糊、空间变换、形态学和过滤工具也支持多维图像处理。万博1manbetx

例1:分割二值图像

考虑在这个二值图像中分离两个接触物体的任务。我们如何修改这幅图像,使其汇水盆地是两个圆形物体?

watershed_fig5_w.gif

为此,我们将使用图像处理工具箱中的另一个新工具:bwdist,计算距离变换.二值图像的距离变换是从每个像素到最近的非零值像素的距离,如这个例子所示。

watershed_fig8_w.gif
一个小的二值图像(左)和它的距离变换(右)。
watershed_fig12_w.jpg

二值图像的距离变换,用bwdist (BW),如图A(左)所示。

这张图像不是很有用,因为整个图像只有一个汇水盆地。相反,试着计算图像补码的距离变换:

D = bwdist(~BW);%图片B(上图)

这张图比较近,但是我们需要对距离变换进行否定,把两个明亮的区域变成汇水流域。

D = -bwdist(~BW);%图片C(上图)

现在每个对象都有一个集水区,我们称之为集水区函数。l

分水岭(D);

l叫做标签矩阵,其中包含各汇水流域位置对应的正整数。我们可以用的零值元素l,它们沿着分水岭线分布,以分离原始图像中的物体。

Bw (l == 0) = 0;分割图像D(上图)

例2:分割量子点

watershed_fig4_w.gif

量子点图像需要做更多的工作,使其适合分水岭分割。首先,我们将图像转换为灰度,并使用带有圆盘形结构元素的形态学top-hat算子(许多新的灰度形态学工具中的一种)来平滑不均匀的光照。

I = rgb2gray(RGB);I2 = imtophat(I, strel('disk', 10));
watershed_fig2_w.gif

其次,我们使用一个名为graythresh确定一个好的阈值,将图像转换为二值。

level = graythresh(I2);BW = im2bw(I2,level);
watershed_fig7_w.gif

最后,对补充后的二值图像进行距离变换,对其进行修改,使背景成为自己的集水区,并进行集水区变换。新函数label2rgb用于显示使用不同颜色的分段对象。

D = -bwdist(~BW);D(~BW) = -Inf;L =分水岭(D);imshow (label2rgb (L,“喷气机”,“w”))

例3:分段钢粒

我们的最后一个例子,一个显微镜下的钢颗粒图像,看起来很适合分水岭分割,因为浅色区域已经被深色线很好地分隔开了。

watershed_fig6_w.gif
钢晶粒的显微镜图像。(由《图像处理手册》作者J. C. Russ提供,CRC出版社。)

我们可以简单地计算补充图像的分水岭。

L =分水岭(补体(I));
watershed_fig11_w.gif

不幸的是,这并没有很好地工作,如下图所示:

结果,oversegmentation,是分水岭分割中一个众所周知的现象。过度分割的发生是因为每个最小区域,即使很小和微不足道,形成自己的汇水盆地。一种解决方案是修改图像,删除过浅的极小值。这就是h-minima变换(imhmin)。

I2 = imcomplement(I);I3 = imhmin(I2,20);%20为抑制浅层最小值L =分水岭的高度阈值(I3);

这是改进后的结果。

watershed_fig10_w.gif

您已经了解了使用分水岭变换分割图像的几种方法。另一种技术,称为标记控制分水岭分割,在“图像处理工具箱”页面.要了解更多关于如何在自己的工作中使用分水岭变换的信息,请查看《进一步阅读》。

图像处理工具箱3有什么新内容

63个新的工具箱功能在以下主要领域大大扩展了它的功能:

  • 灰度形态学
  • 空间的转换
  • 图像配准
  • 图像去模糊
  • 日本进口
  • 多维图像处理
  • 整数图像算法与滤波
  • 在易于使用的图形环境中方便仪器控制的工具
  • 函数用于确定计算机的可用硬件
  • 在一个MATLAB会话内与多个仪器通信

有关新版本的更多信息,请参见“图像处理工具箱”页面

2002年出版的

参考文献

  • 数字图像处理,Rafael C. Gonzalez和Richard E. Woods, Prentice-Hall, 2002

  • 《图像处理手册》,约翰·鲁斯著,CRC出版社,1998年

  • 形态学图像分析:原理和应用,Pierre Soille, Springer-Verlag Berlin海德堡,1999

s manbetx 845产品使用