1 #include <vtkAutoInit.h>
2 VTK_MODULE_INIT(vtkRenderingOpenGL2);
3 VTK_MODULE_INIT(vtkInteractionStyle);
4
5 #include <vtkSmartPointer.h>
6 #include <vtkImageViewer2.h>
7 #include <vtkRenderWindow.h>
8 #include <vtkRenderWindowInteractor.h>
9 #include <vtkRenderer.h>
10 #include <vtkImageReader2Factory.h>
11 #include <vtkImageReader2.h>
12 #include <vtkJPEGReader.h>//JPEG图像读取类
13 #include <vtkImageData.h>
14
15 //测试图像:../data/lena.jpg
16 int main(int argc, char* argv[])
17 {
18 //实例化一个对象dcmReader
19 vtkJPEGReader* reader = vtkJPEGReader::New();
20 reader->SetFileName("lena.jpg");//读取图像
21
22 reader->Update();
23
24 int dims[3];
25 reader->GetOutput()->GetDimensions(dims);
26 std::cout << "图像维数:" << dims[0] << " " << dims[1] << " " << dims[2] << std::endl;
27
28 double origin[3];
29 reader->GetOutput()->GetOrigin(origin);
30 std::cout << "图像原点:" << origin[0] << " " << origin[1] << " " << origin[2] << std::endl;
31
32 double spaceing[3];
33 reader->GetOutput()->GetSpacing(spaceing);
34 std::cout << "像素间隔:" << spaceing[0] << " " << spaceing[1] << " " << spaceing[2] << std::endl;
35
36 vtkSmartPointer<vtkImageViewer2> imageViewer =
37 vtkSmartPointer<vtkImageViewer2>::New();
38 imageViewer->SetInputConnection(reader->GetOutputPort());
39
40 vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
41 vtkSmartPointer<vtkRenderWindowInteractor>::New();
42 imageViewer->SetupInteractor(renderWindowInteractor);
43 imageViewer->Render();
44 imageViewer->GetRenderer()->ResetCamera();
45 imageViewer->Render();
46
47 imageViewer->GetRenderer()->SetBackground(1.0, 1.0, 1.0);
48 imageViewer->SetSize(640, 480);
49 imageViewer->GetRenderWindow()->SetWindowName("GetImageInformationExample");
50
51 renderWindowInteractor->Start();
52
53 return 0;
54 }