ITK系列29_ ITK分水岭算法对PNG图像进行二维分割

基于分水岭算法的分割

分水岭分割对图像特征使用梯度下降法沿区域边界分析弱点 (weak points) 来将像素分类为区域。想像在一个有水流动的拓扑地形结构中,水在重力的引导下聚集到一个地势较低的盆地。随着水量的增加,水将流满整个盆地直到水流溢出到另一个盆地,这样就会将一些小盆地吞没形成大的盆地。使用局部的几何结构来形成区域 ( 集水的盆地 ) ,在图像领域中正如使用一些诸如曲率或梯度强度等特征中的局部极值来将像素连接成区域。这种技术不像其他区域分割,它几乎不需要用户定义门限尤其适合对以不同的特征类型从不同的数据集融合而来的图像进行分割。分水岭技术在那些不仅仅产生单一图像分割的应用中也更加灵活,但是使用一个门限,或者交互式地在一个用户绘图界面的帮助下,从一个可以提取一个单一区域或区域集的 a-priori 中的一个分割层级更合适。

用来实现分水岭方法的两个常见的不同算法:顶部下降底部上升。顶部下降,梯度下降策略是 ITK 选择的算法,因为我们想考虑这个多元微分操作的输出和问题中的 f 将会有浮动点值。底部上升策略以图像中的局部最小值处的种子开始并在离散的亮度水平上向外向上生长(等同于一个形态学操作上的次序,有时也称为形态学分水岭)。这将通过加强图像上的一系列离散灰度值限制精确度。

接下来的例子阐述了如何使用 itk::WatershedImageFilter 对图像进行预处理和分割。注意:预处理的数据将大大影响到结果的质量。典型地,通过使用边缘保护扩散滤波器对原始图像进行预处理可以得到最好的结果,比如各向异性扩散滤波器或双边图像滤波器。如 9.2.1 小节中介绍的那样,用来作为输入的高度函数,必须通过同对象边缘相关的正的更高的值来创建。对许多应用都合适的一个高度函数是使用被分割图像的梯度大小。使用 itk::VectorGradientMagnitudeAnisotropicDiffusionImageFilter 类来平滑图像并使用itk::VectorGradientMagnitudeImageFilter 类来创建高度函数。我们以包含所有预处理滤波器的头文件和分水岭滤波器的头文件开始。我们使用这些滤波器的向量形式,因为输入数据是一个彩色图像。

把这些滤波器参数转换用来做任何特殊的应用是一个实验和误差的过程。门限参数可以用来控制图像的过分割,提高门限通常将减少计算时间和产生更少更大的区域。转换参数的诀窍是考虑你将要分割的图像中的对象的范围级别。

实例29 ITK分水岭算法对PNG图像进行二维分割

#include <iostream>
#include "itkVectorGradientAnisotropicDiffusionImageFilter.h"
#include "itkVectorGradie
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦我飞也

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值