#include <vtkSmartPointer.h>
#include <vtkImageMathematics.h>
#include <vtkImageThreshold.h>
#include <vtkPNGReader.h>
#include <vtkImageViewer2.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderer.h>
#include <vtkBMPReader.h>
#include <vtkImageData.h>
#include <vtkImageIterator.h>
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
VTK_MODULE_INIT(vtkInteractionStyle);
int main()
{
vtkSmartPointer<vtkPNGReader> reader1 =
vtkSmartPointer<vtkPNGReader>::New();
reader1->SetFileName("test1.png");
reader1->Update();
vtkSmartPointer<vtkImageThreshold> thresoldFilter = vtkSmartPointer<vtkImageThreshold>::New();
thresoldFilter->SetInputConnection(reader1->GetOutputPort());
thresoldFilter->ThresholdByUpper(150);
thresoldFilter->SetInValue(255);
thresoldFilter->SetOutValue(0);
thresoldFilter->Update();
//显示
vtkSmartPointer<vtkImageViewer2> imageViewer =
vtkSmartPointer<vtkImageViewer2>::New();
imageViewer->SetInputConnection(thresoldFilter->GetOutputPort());
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
imageViewer->SetupInteractor(renderWindowInteractor);
imageViewer->Render();
imageViewer->GetRenderer()->ResetCamera();
imageViewer->Render();
imageViewer->GetRenderer()->SetBackground(1.0, 1.0, 1.0);
imageViewer->SetSize(640, 480);
imageViewer->GetRenderWindow()->SetWindowName("VisitImagePixelDirectlyExample");
renderWindowInteractor->Start();
return EXIT_SUCCESS;
}