png,bmp,jpg图像的读取与显示
读取、显示 .jpg 图像:vtkJPEGReader
VS15+VTK7.0下console实例:
#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2); VTK_MODULE_INIT(vtkInteractionStyle); VTK_MODULE_INIT(vtkRenderingFreeType); VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2); #include <vtkSmartPointer.h> #include <vtkImageViewer2.h> #include <vtkJPEGReader.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h> #include <vtkRenderer.h> int main() { //Verify input arguments /* Filename(.jpeg)" */ //Read the image vtkSmartPointer<vtkJPEGReader> jpegReader =vtkSmartPointer<vtkJPEGReader>::New(); jpegReader->SetFileName("F:\\vtkshuju\\lena.jpg"); // Visualize vtkSmartPointer<vtkImageViewer2> imageViewer = vtkSmartPointer<vtkImageViewer2>::New(); imageViewer->SetInputConnection(jpegReader->GetOutputPort()); vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =vtkSmartPointer<vtkRenderWindowInteractor>::New(); imageViewer->SetupInteractor(renderWindowInteractor); imageViewer->Render(); imageViewer->GetRenderer()->ResetCamera(); imageViewer->Render(); imageViewer->GetRenderWindow()->SetWindowName("read and show jpg test"); renderWindowInteractor->Start(); return EXIT_SUCCESS; }
读取、显示 .mha 图像:vtkMetaImageReader:
VS15+VTK7.0下console实例:
#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2); VTK_MODULE_INIT(vtkInteractionStyle); VTK_MODULE_INIT(vtkRenderingFreeType); VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2); //read and show .mha #include <vtkImageData.h> #include <vtkMetaImageReader.h> #include <vtkSmartPointer.h> #include <vtkInteractorStyleImage.h> #include <vtkRenderer.h> #include <vtkImageActor.h> #include <vtkImageMapper3D.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h> int main() { // image.mha vtkSmartPointer<vtkMetaImageReader> reader = vtkSmartPointer<vtkMetaImageReader>::New(); reader->SetFileName("F:\\vtkshuju\\itkBrainSliceComplex.mha"); reader->Update(); // Visualize vtkSmartPointer<vtkImageActor> actor = vtkSmartPointer<vtkImageActor>::New(); actor->GetMapper()->SetInputConnection(reader->GetOutputPort()); vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New(); renderer->AddActor(actor); renderer->ResetCamera(); vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New(); renderWindow->AddRenderer(renderer); vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New(); vtkSmartPointer<vtkInteractorStyleImage> style = vtkSmartPointer<vtkInteractorStyleImage>::New(); renderWindowInteractor->SetInteractorStyle(style); renderWindowInteractor->SetRenderWindow(renderWindow); renderWindowInteractor->Initialize(); renderWindowInteractor->GetRenderWindow()->SetWindowName(".mha pic test"); renderWindowInteractor->Start(); return EXIT_SUCCESS; }
png图片的读取与显示:vtkPNGReader:
VS15+VTK7.0下console实例:
#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2); VTK_MODULE_INIT(vtkInteractionStyle); VTK_MODULE_INIT(vtkRenderingFreeType); VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2); //read and show png #include <vtkSmartPointer.h> #include <vtkImageViewer2.h> #include <vtkPNGReader.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h> #include <vtkRenderer.h> int main() { // Verify input arguments // << " Filename(.png)" << std::endl; // Read the image vtkSmartPointer<vtkPNGReader> reader = vtkSmartPointer<vtkPNGReader>::New(); reader->SetFileName("F:\\vtkshuju\\BrainProtonDensitySlice.png"); // Visualize vtkSmartPointer<vtkImageViewer2> imageViewer = vtkSmartPointer<vtkImageViewer2>::New(); imageViewer->SetInputConnection(reader->GetOutputPort()); vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New(); imageViewer->SetupInteractor(renderWindowInteractor); imageViewer->Render(); imageViewer->GetRenderer()->ResetCamera(); imageViewer->Render(); imageViewer->GetRenderWindow()->SetWindowName("read and show png test"); renderWindowInteractor->Start(); return EXIT_SUCCESS; }
bmp格式图片的读取与显示:
VS15+VTK7.0下console实例:
#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2); VTK_MODULE_INIT(vtkInteractionStyle); VTK_MODULE_INIT(vtkRenderingFreeType); VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2); #include <vtkSmartPointer.h> #include <vtkImageViewer2.h> #include <vtkBMPReader.h> #include <vtkRenderWindow.h> #include <vtkRenderWindowInteractor.h> #include <vtkRenderer.h> int main(int argc, char* argv[]) { //Verify input arguments // << " Filename(.bmp)" << std::endl; //Read the image vtkSmartPointer<vtkBMPReader> reader = vtkSmartPointer<vtkBMPReader>::New(); reader->SetFileName("F:\\vtkshuju\\masonry.bmp"); // Visualize vtkSmartPointer<vtkImageViewer2> imageViewer = vtkSmartPointer<vtkImageViewer2>::New(); imageViewer->SetInputConnection(reader->GetOutputPort()); vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New(); imageViewer->SetupInteractor(renderWindowInteractor); imageViewer->Render(); imageViewer->GetRenderer()->ResetCamera(); imageViewer->Render(); imageViewer->GetRenderWindow()->SetWindowName("read and show bmp test"); renderWindowInteractor->Start(); return EXIT_SUCCESS; }