【ITK库学习】使用itk库对图像进行Binary(二值)形态学处理:开操作、闭操作

1、itkBinaryMorphologicalOpeningImageFilter 开操作

该Filter的功能:用于去除图像内部或边界处的小(即小于结构元素)结构。
开操作的形态学定义为:先对图像进行腐蚀,再对图像进行膨胀

假定输入数据由二进制值(0或1)组成,结构元素中只有值 > 0的元素才可以影响目标像素。

常用的成员函数

  • SetInput():设置输入的图像数据
  • SetKernel():设置作用于图像的结构元素
  • Set/GetBackgroundValue():设置/获取图像腐蚀部分的值, 默认为零
  • Set/GetForegroundValue():设置/获取图像中的“前景”的值, 默认为InputPixelType的最大值
  • Update():更新

2、itkBinaryMorphologicalClosingImageFilter 闭操作

该Filter的功能:去除图像内部或边界处的小孔(即小于结构元素)和管状结构。
开操作的形态学定义为:先对图像进行膨胀,再对图像进行腐蚀

假定结构元素由二进制值(0或1)组成,结构元素中只有值 > 0的元素才可以影响目标像素。

常用的成员函数

  • SetInput():设置输入的图像数据
  • SetKernel():设置作用于图像的结构元素
  • Set/GetSafeBorder():设置/获取输入图像中的安全边框(安全边框:避免边框效果),并在闭操作完成后删除
  • Set/GetForegroundValue():设置/获取图像中的“前景”的值。 默认为InputPixelType的最大值
  • Update():更新

3、扩展:itkBinaryBallStructuringElement

表示具有二进制元素(0或1)的球结构(椭圆体)的邻域。

此类定义了一个 Neighborhood,其元素关闭或打开取决于它们是在半径与 Neighborhood半径匹配的椭球体外部还是内部,该类可用作形态图像过滤器的结构元素。

BinaryBallStructuringElement 具有N维半径。 每个维度的半径分别定义为邻域从中心像素向外延伸的像素数,例如,半径为 2x3 的 二维2D BinaryBallStructuringElement 对象的边长为 5x7。

BinaryBallStructuringElement对象始终具有明确的中心,因此它的边长始终是奇数,边长=半径*2+1;

在内部,最好使用FlatStructuringElement执行其所有计算,因为 FlatStructuringElement 更灵活。

  • SetRadius():设置结构体半径
  • CreateStructuringElement():构建结构元素

4、扩展:itkSubtractImageFilter

两个图像的逐像素减法,即将image2中的每个像素从image1中对应的像素中减去:
Output = Input1 - Input2
由于昨晚二值形态学的图像像素值只有0或1,要恢复原图灰度可以用该类进行处理

5、代码示例:

#include "itkImage.h"
#include "itkBinaryMorphologicalOpeningImageFilter.h"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值