51CTO详解:http://book.51cto.com/art/201504/474123.htm
1.vtkImageGradientMagnitude提取边缘
https://lorensen.github.io/VTKExamples/site/Cxx/Images/ImageGradientMagnitude/
关键代码:
vtkSmartPointer<vtkImageGradientMagnitude> gradientMagnitudeFilter =
vtkSmartPointer<vtkImageGradientMagnitude>::New();
gradientMagnitudeFilter->SetInputConnection(source->GetOutputPort());
gradientMagnitudeFilter->Update();
vtkSmartPointer<vtkImageCast> gradientMagnitudeCastFilter =
vtkSmartPointer<vtkImageCast>::New();
gradientMagnitudeCastFilter->SetInputConnection(gradientMagnitudeFilter->GetOutputPort());
gradientMagnitudeCastFilter->SetOutputScalarTypeToUnsignedChar();
gradientMagnitudeCastFilter->Update();
2.vtkImageSobel2D提取边缘
https://lorensen.github.io/VTKExamples/site/Cxx/Images/ImageSobel2D/
关键代码:
// Find the x and y gradients using a sobel filter
vtkSmartPointer<vtkImageSobel2D> sobelFilter =
vtkSmartPointer<vtkImageSobel2D>::New();
sobelFilter->SetInputConnection(source->GetOutputPort());
sobelFilter->Update();