美文网首页
[3]-itk::图像处理算法

[3]-itk::图像处理算法

作者: 豚大叔的小屋 | 来源:发表于2023-12-14 11:01 被阅读0次

    1.ITK图像过滤器(Image Filter)
    1)itk::SmoothingRecursiveGaussianImageFilter
    递归IIR高斯滤波,为解决离散高斯滤波的固有缺陷,通过IIR滤波器,近似实现高斯卷积和求导
    2)itk::MeanImageFilter
    均值滤波器该类主要功能是对图像应用平均滤波器。
    计算图像,其中给定像素是对应输入像素附近邻域中像素的平均值,对领域内的奇异值很敏感
    均值滤波器是线性滤波器系列之一
    3)itk::MedianImageFilter
    该类的作用是对图像应用中值滤波器。
    计算图像,其中给定像素是对应输入像素附近邻域中像素的中值。中值滤波器是非线性滤波器之一。 它用于平滑图像,而不会受到异常值或散粒噪声的影响。
    此滤波器对消除椒盐噪声更加有效。
    此过滤器要求输入像素类型提供运算符<()(小于可比较)。
    4)itk::BinaryMedianImageFilter二值中值滤波器
    该类的作用相当于再一个二值图像中应用中值滤波器。
    该滤波器计算图像时,其中输出像素=其对应的输入邻域像素的中值。 对于二值图像的情况,可以通 过简单地计算前景的邻域值来获得中值,即计算当前像素周围ON/Off像素的数量来优化运行。
    中值滤波器是非线性滤波器家族之一。它用于平滑图像,而不会受到异常值或散粒噪声的影响。

    2.边缘检测
    1)itk::SobelEdgeDetectionImageFilter:
    该类是使用 Sobel 算子进行 2D 或 3D 边缘检测。该滤波器使用Sobel算子计算图像梯度,然后找到该梯度向量的大小。Sobel梯度大小(平方根平方和)是边缘强度的指示。
    该滤波器使用Sobel算子来进行边缘检测,它通过计算图像的一阶和二阶导数来检测边缘。Sobel算子对噪声有一定的抵抗能力,可以较好地提取出边缘.适用于需要较好的噪声抑制能力的边缘检测场景。
    2)itk::CannyEdgeDetectionImageFilter
    该滤波器主要功能是对标量值图像进行Canny边缘检测
    首先使用高斯滤波器对图像进行平滑处理,然后通过计算梯度幅值和方向,使用非最大抑制策略来细化边缘,并使用双阈值策略来筛选出明显的边缘.
    适用于需要提取细节丰富的明显边缘的情况,比如在计算机视觉和图像分析等方面常常使用
    3)itk::ZeroCrossingBasedEdgeDetectionImageFilter
    该滤波器的主要功能是实现基于零交叉点的原理,通过计算图像中灰度值的二阶导数来检测图像中的边缘
    该滤波器使用零交叉算法来进行边缘检测,它通过查找图像中像素值的零交叉来定位边缘。这种方法对于一些边缘不明显的图像可以产生较好的效果,例如在医学图像中检测肿瘤等。因此,itkZeroCrossingBasedEdgeDetectionImageFilter适用于需要检测不明显边缘的场景

    3.图像分割
    1)itk::BinaryThresholdImageFilter
    阈值后得到二值图像
    typedef itk::BinaryThresholdImageFilter<Image2DType, Mask2DType> BinaryFilterType;
    BinaryFilterType::Pointer BinaryFilter = BinaryFilterType::New();
    BinaryFilter->SetInput(m_FixedImage);
    BinaryFilter->SetLowerThreshold(iLower);//二值化处理的下阈值为iLower
    BinaryFilter->SetUpperThreshold(iUpper);//二值化处理的上阈值为iUpper。
    BinaryFilter->SetOutsideValue(1);//设置二值化处理中大于等于上阈值的像素值为1。
    BinaryFilter->SetInsideValue(0);//设置二值化处理中小于等于下阈值的像素值为0。

    4.位操作
    1)itk::OrImageFilter
    用于对两个输入图像进行按位或操作。这个滤波器将两个输入图像的每个像素值进行逻辑或运算,生成一个新的输出图像
    当参与或运算的两个[逻辑值]中有一个为真时,结果就为真。


    图片.png

    2)itk::AndImageFilter:
    在位与运算中,当参与与运算的两个逻辑值都是真时,结果才为真
    将任何数值 N 与数值 0 进行按位与操作,都会得到数值 0。
    将任何数值 N(这里仅考虑 8 位值)与数值 255(8 位二进制数是 1111 1111)进行按位与操作,都会得到数值 N 本身
    构造一幅掩模(具体后面会讲到什么是掩膜)图像 M,掩模图像 M 中只有两种值:一种是数值 0,另外一种是数值 255。将该掩模图像 M 与一幅灰度图像 G 进行按位与操作,在得到的结果图像 R 中:
    与掩模图像 M 中的数值 255 对应位置上的值,来源于灰度图像 G。
    与掩模图像 M 中的数值 0 对应位置上的值为零(黑色)。
    用于对两个输入图像进行按位与操作。这个滤波器将两个输入图像的每个像素值进行逻辑与运算,生成一个新的输出图像。c=bitwise_and(a,b)


    图片.png
    图片.png

    5.像素操作
    1)GetPixel(pixelIndex);//获取像素值
    2)SetPixel(pixelIndex, 0);//设置像素值

    相关文章

      网友评论

          本文标题:[3]-itk::图像处理算法

          本文链接:https://www.haomeiwen.com/subject/eznbgdtx.html