1 #include "vtkAutoInit.h"
2 VTK_MODULE_INIT(vtkRenderingOpenGL2);
3 VTK_MODULE_INIT(vtkInteractionStyle);
4
5 #include <vtkDICOMImageReader.h>//DCM医学文件读取类
6 #include <vtkImageViewer.h>//显示2D图像类
7 #include <vtkRenderWindowInteractor.h>//交互器类
8
9 int main()
10 {
11 int dim[2];
12 //实例化一个对象dcmReader
13 vtkDICOMImageReader* dcmReader = vtkDICOMImageReader::New();
14 dcmReader->SetFileName("C:\\Users\\Administrator\\Desktop\\VTK2\\hellovtk\\CT\\123.dcm");//读单张切片
15 //reader->SetDirectoryName("C:\\Users\\Administrator\\Desktop\\VTK2\\hellovtk\\CT_all");//读序列切片
16
17 //实例化一个对象dcmViewer
18 vtkImageViewer* dcmViewer = vtkImageViewer::New();
19 dcmViewer->SetInputConnection(dcmReader->GetOutputPort());//读取的图像数据输出给显示对象输入
20 //dcmViewer->SetColorLevel(400);//设置窗位
21 //dcmViewer->SetColorWindow(800);//设置窗宽
22 dim[0] = dcmViewer->GetColorLevel();//显示窗位1000
23 dim[1] = dcmViewer->GetColorWindow();//显示窗宽2000
24 printf("%d %d", dim[0], dim[1]);
25
26 dcmViewer->Render();//显示图像
27
28 //加入交互机制
29 //实例化一个交互器对象interactor
30 vtkRenderWindowInteractor* interactor = vtkRenderWindowInteractor::New();
31 dcmViewer->SetupInteractor(interactor);
32 interactor->Initialize();
33 interactor->Start();//使交互器处于等待状态
34
35 /*getchar();*/
36 //释放内存
37 dcmReader->Delete();
38 dcmViewer->Delete();
39 interactor->Delete();
40
41 return 0;
42
43 }
鼠标左键按住不放,上下移动调整窗位,左右移动调整窗宽
默认窗位1000,窗宽2000
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
2020-08-14 QT 设置QDockWidget的初始大小
2020-08-14 Qt QDockWidget小结
2020-08-14 Qt QDockWidget停靠窗相关的信号
2020-08-14 Qt 基于Qt的词典开发系列--无边框窗口的缩放与拖动
2020-08-14 Qt 创建停靠悬浮窗口 QDockWidget
2020-08-14 Qt 隐藏QDockWidget的标题栏
2020-08-14 Qt 常见的 QGraphicsItem