1、二值补洞算法 itk::BinaryFillholeImageFilter
typedef itk::BinaryFillholeImageFilter<ImageType> FillHoleType;
FillHoleType::Pointer fillHoleFilter = FillHoleType::New();
fillHoleFilter->SetInput(reader->GetOutput());
fillHoleFilter->Update();
2D或者3D都可以用,3D指的是空间上的孔洞;
2、itk::GrayscaleFillholeImageFilter( 灰度图像补孔洞 )
3、itk::VotingBinaryHoleFillingImageFilter(二值图像)
(1)补孔洞且光滑轮廓,
(2)可以设置补洞的半径,半径大,大的洞可以补,半径小,只能补小洞)
auto VotingBinaryHoleFill = itk::VotingBinaryHoleFillingImageFilter<ImageType, ImageType>::New();
VotingBinaryHoleFill->SetRadius({ 3,5,10}); // X, Y ,Z
VotingBinaryHoleFill->SetBackgroundValue(0);
VotingBinaryHoleFill->SetForegroundValue(255);
VotingBinaryHoleFill->SetMajorityThreshold(2);
VotingBinaryHoleFill->Update();
3、迭代空洞填充:VotingBinaryIterativeHoleFillingImageFilter(二值图像)
迭代运行2的函数;直到没有像素的值有变化,或者迭代次数终止。