WatershedComponents

WatershedComponents[image]

计算 image 的流域变换,以数组的形式返回计算结果,并以正整数标记流域.

WatershedComponents[image,marker]

使用二值图像 marker 标注可能会创建流域的区域.

更多信息和选项

  • WatershedComponents[image]image 中找到每个区域最小的流域.
  • WatershedComponents 适用于二维以及三维图像.
  • WatershedComponents 适用于二值图像、灰度图像以及其他形式的图像.
  • 在返回的标签数组中,零表示不属于任何前景分量的位置.
  • WatershedComponents[image,marker] 只查找对应于二值图像 marker 中的前景区域位置的盆地.
  • 目标区域 marker 可为以下任何一个:
  • markerimage标记图像
    {pos1,pos2,}位置列表
  • 假定位置 posi 在标准图像坐标系.
  • 一般来说,marker 中非零元素被处理为分割的种子.
  • 可指定以下选项:
  • CornerNeighbors Automatic是否计入角上的邻居
    Method Automatic要用到的方法
  • 可能的 Method 设置包括:
  • "Watershed"形态分水岭法(Meyer)(默认)
    "Basins"修正分水岭算法(Beucher, Meyer)
    "Rainfall"梯度下降或降水算法(Osma-Ruiz)
    "Immersion"分水岭浸没算法(VincentSoille)
    {"MinimumSaliency",t}梯度下降算法,如果最小边界高度小于 t,则合并毗邻的盆地
  • "Watershed""Immersion" 的方法将会返回分水线, 在标记数组中用零表示.
  • "MinimumSaliency" 方法始终要用 CornerNeighbors->False. 所有其他的方法默认用 CornerNeighbors->True.

范例

打开所有单元关闭所有单元

基本范例  (2)

流域分割一幅有两个局部最小值的图像:

分割视觉化:

流域分割一幅三维图像:

范围  (3)

用一幅标记图像标记两个区域:

用一个位置列表标记两个区域:

用一个二值掩码标记三维区域:

选项  (3)

CornerNeighbors  (2)

默认情况下,对角相邻的像素被认为是邻居:

CornerNeighborsFalse 时,只有垂直和水平相邻的邻近像素被认为是邻居:

Method->"MinimumSaliency" 方法时,忽略 CornerNeighbors 设置:

Method  (1)

用一个最小显著性的方法来分割一幅图像的瓷砖:

用较低的显著性阈值通常会得到过度分割的结果:

用较高的显著性阈值来融合相似的邻近的组件:

应用  (8)

用距离变换图像分离重叠的组件:

分离重叠的组件:

使用分水岭分割来分离重叠的三维组件:

计算体积的距离变换:

在三维体积的距离变换上运行分水岭分割,并可视化该分割:

用三维标记来增强分割:

从去除背景的分水岭脊创建的二值图像:

心腔分割:

用平滑过的数据的局部极大值作标记:

用检测到的标记运行流域分割:

通过填平浅的局部极大值对图像进行预处理,将会减少过度分割:

结合 GradientFilterFillingTransform 来分割图像:

近似一个点集的 Voronoi 图表:

计算图像距离变换的分水岭变换:

显示分量的边界(Voronoi 图)和初始点:

过度分割可以创造性地用于图像背景的纹理细化:

属性和关系  (2)

方法 "Basins""Rainfall",以及 "MinimumSaliency" 把所有的像素分配给一个流域:

方法 "Watershed""Immersion" 计算分水线并分离组件:

用默认的方法计算分水线并分离组件:

通常,高原像素是根据他们与局部最小处有多近来被分离的:

方法 "MinimumSaliency" 把所有的高原像素分配给同一个组件:

可能存在的问题  (1)

通常,图像不是每个组件都有局部最小值:

从概念上讲,流域分割使用局部最小值作为标记:

对梯度影像做流域运算,通常会得到更理想的分割:

巧妙范例  (1)

使用分水岭变换解决一个迷宫拼图:

Wolfram Research (2010),WatershedComponents,Wolfram 语言函数,https://reference.wolfram.com/language/ref/WatershedComponents.html (更新于 2014 年).

文本

Wolfram Research (2010),WatershedComponents,Wolfram 语言函数,https://reference.wolfram.com/language/ref/WatershedComponents.html (更新于 2014 年).

CMS

Wolfram 语言. 2010. "WatershedComponents." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2014. https://reference.wolfram.com/language/ref/WatershedComponents.html.

APA

Wolfram 语言. (2010). WatershedComponents. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/WatershedComponents.html 年

BibTeX

@misc{reference.wolfram_2024_watershedcomponents, author="Wolfram Research", title="{WatershedComponents}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/WatershedComponents.html}", note=[Accessed: 24-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_watershedcomponents, organization={Wolfram Research}, title={WatershedComponents}, year={2014}, url={https://reference.wolfram.com/language/ref/WatershedComponents.html}, note=[Accessed: 24-November-2024 ]}