VTK 实例11:读取BMP图像并显示

发布时间 2023-08-14 15:10:52作者: 一杯清酒邀明月

窗宽(Window Width):表示所显示信号强度值的范围(CT图像上所包含的CT值范围)

窗位(Window Level):又称窗水平。窗位是指窗宽上下限的平均数(窗位的高低影响图像的亮度)

例如:窗宽为300H,当窗位是0H时,其CT值范围为-150H~0H~+150H;如窗位是+40H时,则CT值范围为

-110H~+40H~+190H。通常欲观察某一组织的结构及发生的病变,应以该组织的CT值为窗位。

 1 #include "vtkAutoInit.h" 
 2 VTK_MODULE_INIT(vtkRenderingOpenGL2);
 3 VTK_MODULE_INIT(vtkInteractionStyle);
 4 
 5 #include <vtkBMPReader.h>//BMP读取类
 6 #include <vtkImageViewer.h>//显示2D图像类
 7 #include <vtkRenderWindowInteractor.h>//交互器类
 8 
 9 int main()
10 {
11     //实例化一个对象bmpReader
12     vtkBMPReader* bmpReader = vtkBMPReader::New();
13     bmpReader->SetFileName("1234.bmp");//读取图片
14 
15     //实例化一个对象bmpViewer
16     vtkImageViewer* bmpViewer = vtkImageViewer::New();
17     bmpViewer->SetInputConnection(bmpReader->GetOutputPort());//读取的图像数据输出给显示对象输入
18     bmpViewer->SetColorLevel(128);//设置窗位   
19     bmpViewer->SetColorWindow(256);//设置窗宽  
20     bmpViewer->Render();//显示图像
21 
22     //加入交互机制
23     //实例化一个交互器对象interactor
24     vtkRenderWindowInteractor* interactor = vtkRenderWindowInteractor::New();
25     bmpViewer->SetupInteractor(interactor);
26     interactor->Initialize();
27     interactor->Start();//使交互器处于等待状态
28 
29     //getchar();
30     //释放内存
31     bmpReader->Delete();
32     bmpViewer->Delete();
33     interactor->Delete();
34 
35     return 0;
36 
37 }