51CTO详解:
均值滤波:http://book.51cto.com/art/201504/474128.htm
高斯平滑:http://book.51cto.com/art/201504/474129.htm
中值滤波:http://book.51cto.com/art/201504/474130.htm
各向异性滤波:http://book.51cto.com/art/201504/474131.htm
demo地址:
均值滤波:https://lorensen.github.io/VTKExamples/site/Cxx/Images/ImageConvolve/
高斯平滑:https://lorensen.github.io/VTKExamples/site/Cxx/Images/ImageGaussianSmooth/
中值滤波:https://lorensen.github.io/VTKExamples/site/Cxx/Images/ImageHybridMedian2D/
各向异性滤波:https://lorensen.github.io/VTKExamples/site/Cxx/Images/ImageAnisotropicDiffusion2D/
均值滤波关键代码:
vtkSmartPointer<vtkImageConvolve> convolveFilter =
vtkSmartPointer<vtkImageConvolve>::New();
convolveFilter->SetInputConnection(source->GetOutputPort());
double kernel[9] = {1,1,1,1,1,1,1,1,1};
convolveFilter->SetKernel3x3(kernel);
convolveFilter->Update();
效果图:
高斯平滑关键代码:
vtkSmartPointer<vtkImageGaussianSmooth> gaussianSmoothFilter =
vtkSmartPointer<vtkImageGaussianSmooth>::New();
gaussianSmoothFilter->SetInputConnection(source->GetOutputPort());
gaussianSmoothFilter->Update();
效果图:
中值滤波关键代码:
vtkSmartPointer<vtkImageHybridMedian2D> hybridMedian =
vtkSmartPointer<vtkImageHybridMedian2D>::New();
hybridMedian->SetInputConnection(reader->GetOutputPort());
效果图:
各向异性滤波关键代码:
vtkSmartPointer<vtkImageAnisotropicDiffusion2D> diffusion =
vtkSmartPointer<vtkImageAnisotropicDiffusion2D>::New();
diffusion->SetInputConnection(reader->GetOutputPort());
diffusion->SetNumberOfIterations(iterations);
diffusion->SetDiffusionThreshold(threshold);
diffusion->Update();
效果图: