ITK 形态学处理(Morph process)

定义:数字图像处理中的形态学处理是指将数字形态学作为工具从图像中提取对于表达和描绘区域形状有用处的图像分量,比如边界、骨架以及凸壳,还包括用于预处理或后处理的形态学过滤、细化和修剪等。图像形态学处理中我们感兴趣的主要是二值图像。

具体定义参考博客http://blog.csdn.net/poem_qianmo/article/details/23710721

ITK中使用NeighborhoodIteratorsitk::NeighborhoodOperators来实现数学形态学滤波器。研发平台中包含有两种图像形态学算法:对二值图像操作的滤波器和对灰度尺图像操作的滤波器。

itk::BinaryErodeImageFilter  腐蚀操作

itk::BinaryDilateImageFilter  膨胀操作

ITK中的数学形态学操作通过对每个输入像素的邻域应用一个操作来实现。规则和邻域的结合被称为构造成员。

下面包含了构造一个简单地使用数学形态学滤波器需要的头文件:
#include "itkBinaryErodeImageFilter.h"
#include "itkBinaryDilateImageFilter.h"
#include "itkBinaryBallStructuringElement.h"
接下来的代码定义了输入、输出像素类型以及和它们相关的图像类型:
const unsigned int Dimension = 2;
typedef unsigned char InputPixelType;
typedef unsigned char OutputPixelType;
typedef itk::Image< InputPixelType, Dimension > InputImageType;
typedef itk::Image< OutputPixelType, Dimension > OutputImageType;

构造成员是作为一个NeighborhoodOperator 来实现的。事实上,默认的构造成员是
itk::BinaryBallStructuringElement 类。这个类是使用像素类型和输入图像维来进行实例化的:
typedef itk::BinaryBallStructuringElement<
InputPixelType,
Dimension > StructuringElementType;
然后使用构造成员类型和输入、输出图像类型一起来对滤波器类型进行实例化:
typedef itk::BinaryErodeImageFilter<
InputImageType,
OutputImageType,
StructuringElementType > ErodeFilterType;
typedef itk::BinaryDilateImageFilter<
InputImageType,
OutputImageType,
StructuringElementType > DilateFilterType;
现在通过调用 New( )方式来创建这个滤波器并将结果指向一个itk::SmartPointer
ErodeFilterType::Pointer binaryErode = ErodeFilterType::New( );
DilateFilterType::Pointer binaryDilate = DilateFilterType::New( );

构造成员不是一个引用记数类。因此它是作为一个C++堆栈而不是使用 New( )SmartPointers来创建的。使用SetRadius( )方式来定义和构造成员相关的邻域半径并调用CreateStructuringElement( )方式以便于初始化操作符。如下面所阐述的那样,使用SetKernel( )方式将构造成员的结果传递给数学形态学滤波器。

StructuringElementType structuringElement;
structuringElement.SetRadius( 1 ); // 3x3 structuring element
structuringElement.CreateStructuringElement( );

130
binaryErode->SetKernel( structuringElement );
binaryDilate->SetKernel( structuringElement );









  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值