怎么自己做网站发优惠券,韩国跨境电商有哪些平台,阿玛尼手表官方网站查询正品,商城网站要多少钱效果#xff1a; 1、itkThresholdImageFilter
该类的主要功能是通过设置低阈值、高阈值或介于高低阈值之间#xff0c;则将图像值输出为用户指定的值。
如果图像值低于、高于或介于设置的阈值之间#xff0c;该类就将图像值设置为用户指定的“外部”值#xff08;默认情况…效果 1、itkThresholdImageFilter
该类的主要功能是通过设置低阈值、高阈值或介于高低阈值之间则将图像值输出为用户指定的值。
如果图像值低于、高于或介于设置的阈值之间该类就将图像值设置为用户指定的“外部”值默认情况下为“黑色”。
该类并不对像素进行二值化处理输出图像中的像素值可以是浮点型或整型。
常用的成员函数: Set/GetLower()设置/获取下限阈值Set/GetUpper()设置/获取上限阈值Set/GetOutsideValue()设置/获取“外部”像素值ThresholdAbove()将大于或等于该阈值的值设置为OutsideValueThresholdBelow()将小于或等于该阈值的值设置为OutsideValueThresholdOutside()将超出上下限阈值范围的值设置为 OutsideValue Example:
#include itkImage.h
#include itkThresholdImageFilter.h;using namespace itk;const unsigned int Dimension 3; //数据的Dimension
typedef signed short shortPixelType;
typedef itk::ImageshortPixelType, Dimension ShortImageType;//图像进行阈值分割处理
bool thresholdImage(ShortImageType* image, ShortImageType* outImage)
{const short lowerThr 200; //设置下阈值const short upperThr 1000; //设置上阈值short outsideValue 0; typedef ThresholdImageFilterShortImageType thresholdFilterType;typename thresholdFilterType::Pointer thresholder thresholdFilterType::New();thresholder-SetInput(image);thresholder-SetOutsideValue(outsideValue);设置上下阈值//thresholder-SetLower(lowerThr);//thresholder-SetUpper(upperThr);//下阈值的值均设为outsideValuethresholder-ThresholdBelow(lowerThr);try{thresholder-Update();}catch (itk::ExceptionObject ex){//读取过程发生错误std::cerr Error: ex std::endl;return false;}//上阈值的值均设为outsideValuethresholder-ThresholdAbove(upperThr);try{thresholder-Update();}catch (itk::ExceptionObject ex){//读取过程发生错误std::cerr Error: ex std::endl;return false;}//介于阈值之外的值均设为outsideValuethresholder-ThresholdOutside(lowerThr, upperThr);try{thresholder-Update();}catch (itk::ExceptionObject ex){//读取过程发生错误std::cerr Error: ex std::endl;return false;}outImage thresholder-GetOutput();return true;
}
2、itkBinaryThresholdImageFilter
2、itkBinaryThresholdImageFilter
该类的主要功能是通过阈值处理将输入图像进行二值化。
输出的图像像素只有两个值OutsideValue或者InsideValue具体取决于相应的输入图像像素是否位于高低阈值LowerThreshold和UpperThreshold之间其中当像素值等于任一阈值时被认为是在阈值之间。
注意LowerThreshold不得大于UpperThreshold 否则会引发异常。
因此通常仅需要设置其中之一具体取决于用户是否希望阈值高于或低于期望阈值。
常用的成员函数 Set/GetInsideValue()设置/获取“内部”像素值Set/GetOutsideValue()设置/获取“外部”像素值Set/GetLowerThreshold()设置/获取低阈值Set/GetUpperThreshold()设置/获取高阈值
与itkThresholdImageFilter相比较itkBinaryThresholdImageFilter更适用于将图像根据两个阈值进行二值化处理而itkThresholdImageFilter适用于将图像中符合条件的像素值映射为特定的数值。
Example:
#include itkImage.h
#include itkBinaryThresholdImageFilter.h;using namespace itk;const unsigned int Dimension 3; //数据的Dimension
typedef signed short shortPixelType;
typedef itk::ImageshortPixelType, Dimension ShortImageType;//图像进行二值化阈值分割处理
bool binaryThresholdImage(ShortImageType* image, ShortImageType* outImage)
{const short lowerThr 0; //设置二值化的下阈值const short upperThr 1000; //设置二值化的上阈值short backGround 0; //设置背景值short foreGround 255; //设置前景值typedef BinaryThresholdImageFilterShortImageType, ShortImageType BThresholdFilterType;typename BThresholdFilterType::Pointer thresholder BThresholdFilterType::New();thresholder-SetInput(image);thresholder-SetOutsideValue(backGround);thresholder-SetInsideValue(foreGround);thresholder-SetLowerThreshold(lowerThr);thresholder-SetUpperThreshold(upperThr);try{thresholder-Update();}catch (itk::ExceptionObject ex){//读取过程发生错误std::cerr Error: ex std::endl;return false;}outImage thresholder-GetOutput();return true;
}3、itkOtsuThresholdImageFilter
该类的功能是使用最大类间方差法Otsu阈值设置图像阈值。
最大类间方差法是由日本学者大津(Nobuyuki Otsu)于1979年提出的是一种自适合于双峰情况的自动求取阈值的方法又叫大津法简称Otsu。是一种基于全局的二值化算法。
它是按图像的灰度特性将图像分成背景和目标两部分。背景和目标之间的类间方差越大说明构成图像的2部分的差别越大当部分目标错分为背景或部分背景错分为目标都会导致2部分差别变小。因此使类间方差最大的分割意味着错分概率最小。
常用的成员函数
Set/GetInsideValue()设置/获取“内部”像素值
Set/GetOutsideValue()设置/获取“外部”像素值
Set/GetReturnBinMidpoint()设置/获取阈值是bin的中点还是最大值 默认值是 bin 最大值
ReturnBinMidpointOn()设置/获取阈值是bin的中点还是最大值 默认值是 bin 最大值
VerifyPreconditions()验证先决条件验证过程对象是否已正确配置、所有必需的输入是否已设置以及所需的参数是否已正确设置, 如果无效将抛出异常在将 UpdateOutputInformation() 传播到输入之前调用此方法ProcessObject 的实现验证 m_NumberOfRequiredInputs 是否已设置且不为空
Code
#include itkImage.h
#include itkOtsuThresholdImageFilter.husing namespace itk;const unsigned int Dimension 3; //数据的Dimension
typedef signed short shortPixelType;
typedef itk::ImageshortPixelType, Dimension ShortImageType;bool OtsuThresholdImage(ShortImageType* image, ShortImageType* outImage)
{short outsideValue 0; //设置前景背景值short insideValue 255;typedef OtsuThresholdImageFilterShortImageType, ShortImageType OtsuThresholdFilterType;typename OtsuThresholdFilterType::Pointer thresholder OtsuThresholdFilterType::New();thresholder-SetInput(image);thresholder-SetOutsideValue(outsideValue);thresholder-SetInsideValue(insideValue);try{thresholder-Update();}catch (itk::ExceptionObject ex){//读取过程发生错误std::cerr Error: ex std::endl;return false;}outImage thresholder-GetOutput();return true;
}
4、itkConnectedThresholdImageFilter
该类的功能是标记连接到种子并位于值范围内的像素。
该类使用ReplaceValue标记连接到初始种子且位于阈值下限和上限范围内的像素。
与itkThresholdImageFilter等前几个类相比它们虽然都是根据不同像素的灰度值或像素特征将图像分割成不同的区域但是此类不同的是基于连接像素的原理通过选择与种子像素相连的像素来进行分割分割的结果是连通区域可以灵活地选择不同的种子点和连接条件得到不同的连通区域。
itkConnectedThresholdImageFilter适用于分割具有明显边界的目标可以得到分割结果中目标区域的边界比较平滑。而itkThresholdImageFilter/itkBinaryThresholdImageFilter适用于分割目标灰度值较高或较低的区域可以得到目标区域与背景的清晰分割
常用的成员函数
AddSeed()增加种子点
ClearSeeds()清除种子列表
SetSeed()设置种子点
GetSeeds()获取种子容器
Set/GetLower()设置/获取下限阈值
Set/GetUpper()设置/获取上限阈值
Set/GetUpperInput()设置/获取连接到管道的上阈值输入
Set/GetLowerInput()设置/获取连接到管道的下阈值输入
SetConnectivity()要使用的连接类型完全连接或 4(2D)、6(3D)、2*N(ND) 连接
Set/GetReplaceValue()设置/获取值以替换阈值像素 介于Lower和Upper含内的像素将被替换为该值 默认值为 1
Code:
#include itkImage.h
#include itkConnectedThresholdImageFilter.husing namespace itk;const unsigned int Dimension 3; //数据的Dimension
typedef signed short shortPixelType;
typedef itk::ImageshortPixelType, Dimension ShortImageType;bool connectedThresholdImage(ShortImageType* image, ShortImageType* outImage)
{const short lowerThr 0; //设置二值化的上下阈值const short upperThr 1000;const short replaceValue 255;ShortImageType::IndexType seed;seed[0] 100; //该值必须在图像的三维大小范围内seed[1] 100;seed[2] 25;typedef ConnectedThresholdImageFilterShortImageType, ShortImageType ConnectedThresholdFilterType;typename ConnectedThresholdFilterType::Pointer thresholder ConnectedThresholdFilterType::New();thresholder-SetInput(image);thresholder-SetLower(lowerThr);thresholder-SetUpper(upperThr);thresholder-SetReplaceValue(replaceValue);thresholder-SetSeed(seed);try{thresholder-Update();}catch (itk::ExceptionObject ex){//读取过程发生错误std::cerr Error: ex std::endl;return false;}outImage thresholder-GetOutput();return true;
}