itk 提供了两个类进行纹理特征提取,本文以RunLengthTextureFeaturesImageFilter为例,值得注意的是如果要使用这两个类,cmake编译itk 时,需要选中remote module:
以下为代码示例:
#include "itkRunLengthTextureFeaturesImageFilter.h"
#include "itkNeighborhood.h"
using FilterType = itk::Statistics::RunLengthTextureFeaturesImageFilter
< Int3DImageType, OutputImageType >;
FilterType::Pointer FeatureFilter = FilterType::New();
FeatureFilter->SetInput(OriImg);
FeatureFilter->SetMaskImage(ImgMACMask);
// The number of intensity bins. (Optional, defaults to 256.)
FeatureFilter->SetNumberOfBinsPerAxis(100);
FeatureFilter->SetHistogramValueMinimum(-9);
FeatureFilter->SetHistogramValueMaximum(89);
//FeatureFilter->SetHistogramDistanceMinimum();
//FeatureFilter->SetHistogramDistanceMaximum();
neighborhood.SetRadius(2);
FeatureFilter->SetNeighborhoodRadius(neighborhood.GetRadius());
一定要认真修改、调试RunLengthTextureFeaturesImageFilter的参数,使用默认参数一般会得到无意义的特征,默认特征为10个。