• VTK 读取序列图像


    VTKstd在VTK7版本中不再使用,用std替代

    VTK7中需添加命名空间

    using namespace std;
    std::string fileStr(fileName);
     1 #include "vtkAutoInit.h" 
     2 VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2
     3 VTK_MODULE_INIT(vtkInteractionStyle);
     4 #include <vtkSmartPointer.h>
     5 #include <vtkJPEGReader.h>
     6 #include <vtkImageViewer2.h>
     7 #include <vtkRenderWindowInteractor.h>
     8 #include <vtkInteractorStyleImage.h>
     9 #include <vtkRenderer.h>
    10 #include <vtkStringArray.h>
    11 #include <vtkRenderWindow.h>
    12  
    13 using namespace std;
    14 int main()
    15 {
    16     //生成图像序列的文件名数组
    17     vtkSmartPointer< vtkStringArray > fileArray = vtkSmartPointer< vtkStringArray >::New();
    18     char fileName[128];
    19     for (int i = 1; i < 100; i++)
    20     {
    21         sprintf(fileName, "G:/First_year_graduate/VTK/VTKexamle/VTKtest1/Debug/data/Head/head%03d.jpg", i);
    22          std::string fileStr(fileName);
    23         fileArray->InsertNextValue(fileStr);
    24     }
    25  
    26     //读取JPG序列图像
    27     vtkSmartPointer<vtkJPEGReader> reader = vtkSmartPointer<vtkJPEGReader>::New();
    28     reader->SetFileNames(fileArray);
    29  
    30     vtkSmartPointer<vtkInteractorStyleImage> style = vtkSmartPointer<vtkInteractorStyleImage>::New();
    31  
    32     //显示读取的JPG图像
    33     vtkSmartPointer<vtkImageViewer2> imageViewer = vtkSmartPointer<vtkImageViewer2>::New();
    34     imageViewer->SetInputConnection(reader->GetOutputPort());
    35  
    36     vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
    37         vtkSmartPointer<vtkRenderWindowInteractor>::New();
    38     renderWindowInteractor->SetInteractorStyle(style);
    39  
    40     imageViewer->SetSlice(50); //默认显示第50个切片(即第50层)
    41     imageViewer->SetSliceOrientationToXY();
    42     //imageViewer->SetSliceOrientationToYZ();
    43     //imageViewer->SetSliceOrientationToXZ();
    44     imageViewer->SetupInteractor(renderWindowInteractor);
    45     imageViewer->Render();
    46  
    47     imageViewer->GetRenderer()->SetBackground(1.0, 1.0, 1.0);
    48     imageViewer->SetSize(640, 480);
    49     imageViewer->GetRenderWindow()->SetWindowName("ReadSeriesImages1");
    50  
    51     renderWindowInteractor->Start();
    52  
    53     return EXIT_SUCCESS;
    54 }

     

  • 相关阅读:
    TLE: poj 1011 Sticks
    UVa 116 Unidirectional TSP
    csuoj 1215 稳定排序
    UVa 103 Stacking Boxes
    UVa 147 Dollars
    UVa 111 History Grading
    怎么在ASP.NET 2.0中使用Membership
    asp.net中如何删除cookie?
    ASP.NET中的HTTP模块和处理程序[收藏]
    NET开发中的一些小技巧
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13920306.html
Copyright © 2020-2023  润新知