学习笔记19

以区域为基础的图像分割处理技术

最基础的是区域生长法

区域生长是根据事先定义的准则将像素或者子区域聚合成更大区域的过程

其基本思想是从一组生长点开始(生长点可以是单个像素,也可以是某个小区域),将与该生长点性质相似(

判断依据可以是灰度值、纹理、颜色等图像信息)的相邻像素或者区域与生长点合并,形成新的生长点,重复此过程直到不能生长为止

区域生长算法关键有三个:

1、选择合适的生长点(鼠标选择)(人工或自动)

2、确定相似性准则即生长准则

3、确定生长停止条件

基于ITK和VTK实现三维体数据的区域生长分割和可视化

来自 <基于ITK和VTK实现三维体数据的区域生长分割和可视化_inter_peng的专栏-CSDN博客>

ITK中的基于itkConnectedThresholdFilter的区域生长分割算法,并且利用 VTK将区域生长分割后的体数据进行显示

其中的需求是输入患者的一组CT数据,首先基于阈值进行分割,然后在阈值分割的基础上,再进行区域生长分割,这样可以快速地获取用户需要后处理的感兴趣区域。

由于要处理的是医学体数据,而且是已经进行完阈值分割后的数据,因此它的数据类型设为vtkImageData

由于VTK和ITK的数据类型不能直接使用,因此首先需要将VTK类型的体数据vtkImageData转化成itkImage,然后再调用ITK中的区域生长的算法,最后再将分割后的数据再转换回vtkImageData,进行后续的三维后处理等。

基于MITK实现区域生长分割的介绍

来自 <基于MITK实现区域生长分割的介绍_inter_peng的专栏-CSDN博客>

2. MITK的基本操作:

2.1 加载DICOM序列图像

2.2 实现MPR浏览切面的功能

在左下角的”Image Navigator”界面中,会显示MPR的轴线中心的坐标位置,以及轴、矢和冠状位三个切片的序号。

2.3 三维重建体数据的功能

如果想要观察数据体的三维影像,需要对体数据进行Volume Rendering。

3. 基于MITK的区域生长分割:

2D Tool包括:Add, Subtract, Correction, Paint, Wipe, Region Growing, Fill, Erase, Live Wire, 2D Fast Marching的分割功能;

3D Tool包括:Threshold, UL Threshold, Otsu, Fast Marching 3D, Region Growing 3D, Watershed, Picking的分割功

能。

Region Growing在ITK中有不同的实现算法。通过这里的界面显示,MITK中应用的应该是ITK中的connectedThresholdImageFilter的类来实现区域生长的分割功能。

MITK中的RegionGrowingTool采用连续阈值法(Connected Threshold)的变种自适应连续阈值法(Connected Adaptive Threshold)作为生长策略

连续阈值法的是基于用户提供的灰度区间,根据区间的最大值和最小值,如果邻近像素的像素值落在区间内,区域生长算法会将该像素点包含进区域内。

I(x)∈{lower, upper}

I表示图像像素值函数,x表示待判定的像素点位置。

自适应连续阈值法则会根据种子点的像素值自动确定灰度区间,用户也可以自己编辑灰度区间。

ITK - 区域增长 (用于分割)

来自 <ITK - 区域增长 (用于分割)_Jane_yuhui的专栏-CSDN博客>

1 Region Growing

区域增长算法的基本思想:先选择一个种子区域(通常为一个像素或一些像素点),认为这个种子区域是在被分割的对象范围之内。所选种子区域的邻域像素会被计算从而决定它是否包含在该种子区域里。如果根据某种准则,种子区域的邻域像素应该包含进来,则该邻域像素会被包含到种子区域中去,然后判断下一个像素点,最终种子区域会越来越大,当所有的像素点判断完毕,分割结束。

因为区域增长对于噪音很敏感,所以一般的图像都要先进行平滑处理CurvatureFlowImageFilter

根据判断像素点是否位于种子区域内,区域增长算法主要有如下类型:

1.1 Connected Threshold 连通阈值

基本思想:估算像素点的灰度值是否在一个指定的范围内。

类:itk::ConnectedThresholdImageFilter

类itk::ConnectedThresholdImageFilter使用了一种叫做Flood fill iterator的迭代器。在使用这个类时用户要指定像素值的最小值lower threshold和最大值upper threshold像素值位于lower threshold和upper threshold的像素会被认为是位于种子区域内

类itk::ConnectedThresholdImageFilter的输出是二进制图像文件,即除了提取的图像区域外,其他区域的像素值均为。提取的图像区域的像素值可通过方法SetReplaceValue()函数进行设置。另外还要提供一个种子点对这个类进行初始化,也就是通过方法SetSeed(Index)传递该种子的索引值。

缺点:对于不连通的区域,尽管像素值符合要求,也分割不出来。

输入: 图像、种子点坐标、阈值的最大最小值。

输出:二值图像

可以添加多个种子点, AddSeed( )

1.2 Otsu Segmentation Otsu算法,即大津法)

Otsu算法,即大津法,由大津于1979年提出,对图像Image,记t为前景与背景的分割阈值前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。图像的总平均灰度为:u=w0*u0+w1*u1从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大时t即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值t分割出的前景和背景两部分构成了整幅图像,而前景取值u0,概率为w0,背景取值u1,概率为w1,总均值为u,根据方差的定义即得该式。因方差是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小

OTSU阈值处理(最大类间方差),算法步骤如下: 

【1】统计灰度级中每个像素在整幅图像中的个数。 

【2】计算每个像素在整幅图像的概率分布。 

【3】对灰度级进行遍历搜索,计算当前灰度值下前景背景类间概率。 

【4】通过目标函数计算出类内与类间方差下对应的阈值。

类:itk::OtsuThresholdImageFilter

类itk::OtsuThresholdImageFilter的方法SetOutsideValue()/SetInsideValue()设置位于阈值范围外/内的像素值;SetNumberOfHistogramBins()设置用于计算分割阈值的直方图的灰度级数。

类:itk::OtsuMultipleThresholdsCalculator

类itk::OtsuMultipleThresholdsCalculator的作用主要是输入一幅图像的直方图,并且指定要计算的Otsu阈值个数,该类可以计算指定个数的Otsu阈值,使得图像的类间方差(between-class variance)最大。而图像的直方图可以通过类itk::Statistics::ScalorImageToHistogramGenerator进行计算。

优点:不需要指定种子点

输入: 图像

输出:二值图像(可以设置区域内和背景不同的灰度值)

1.3 Neighborhood Connected 

类:itk::NeighborhoodConnectedImageFilter

类NeighborhoodConnectedImageFilter与类ConnectedThresholdImageFilter的区别

当一个像素的灰度值位于用户定义的灰度值范围内时,类ConnectedThresholdImageFilter会把它包含到种子区域里去;只有当一个像素的一个像素及其邻域像素的灰度值满足用户定义的灰度范围内时,类NeighborhoodConnectedImageFilter才会把这个像素包含到种子区域中去,邻域的半径大小由用户来设定。

The operation of this filter is equivalent to applying the ConnectedThresholdImageFilter followed by mathematical morphology erosion using a structuring element of the same shape as the neighborhood provided to the NeighborhoodConnectedImageFilter.

The larger the neighborhood, the more stable this filter will be against noise in the input image, but also the longer the computing time will be.

优点: 可以添加多个种子点, AddSeed( )

输入: 图像、种子点坐标、阈值的最大最小值。

输出:二值图像

1.4 Confidence Connected

类:itk::ConfidenceConnectedImageFilter

基本思想:首先计算当前区域中包含的所有像素点的灰度值的期望和标准差,根据用户指定的因子(乘以标准差)计算以期望为中心的灰度值范围。如果邻域像素的灰度值位于这个范围内的话就被包含进种子区域,否则就被排除。当遍历了所有的邻域像素,即认为迭代完成;再进行下一次迭代过程。下一次迭代时,像素点的灰度值期望和标准差是以新的像素区域为基础进行计算的。

式中m指灰度值的期望,σ指标准差,f是用户指定的因子。X是特定的邻域像素,I()指代图像。

不同的迭代次数输出的结果是不同。

优点: 可以添加多个种子点, AddSeed( )

输入: 图像、种子点坐标

输出:二值图像

 也可以处理三维的图像

1.5 Isolated Connected

类:itk::IsolatedConnectedImageFilter

In this filter two seeds (SetSeed1()/SetSeed2()) and a lower threshold (SetLower()) are provided by the user. The filter will grow a region connected to the first seed and not connected to the second one. In order to do this, the filter finds an intensity value that could be used as upper threshold for the first seed. A binary search is used to find the value that separates both seeds.

这个滤波器进行区域生长的时候会选择连通第一个点,而不连通第二个种子点。为了做到这一点,这个滤波器会为了第一个种子点自己选择一个灰度值作为区域生长的最大值。为了区分两个种子点该滤波器会使用一个二分查找的方式。

This filter is intended to be used in cases where adjacent anatomical structures are difficult to separate. Selecting one seed in one structure and the other seed in the adjacent structure creates the appropriate setup for computing the threshold that will separate both structures.

这个滤波器比较适用于相邻解剖结构比较难分的情况。选择两个区域各自任意一个不同的点,对于区分两个不同的结构会生成比较合适的阈值。

输入:图像、两个种子点、最小的阈值

输出:二值图像

1.6 Confidence Connected in Vector Images

类:itk::VectorConfidenceConnectedImageFilter

The basic difference between the scalar and vector version is that the vector version uses the covariance matrix (协方差矩阵) instead of a variance (方差), and a vector mean (向量期望) instead of a scalar mean.

The membership of a vector pixel value to the region is measured using the Mahalanobis distance as implemented in the class itk::Statistics::MahalanobisDistanceThresholdImageFunction. 马氏距离

种子区域周围的一个小小邻域将用来计算包含在标准里最初的平均值和标准差

输入:图像、种子点、亮度范围大小的因子f、迭代次数、邻域半径

迭代次数直接影响了最后的结果,迭代过多可能吞没整个图像

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值