1.两个dll文件有问题 尝试解决
(1)vtkRenderer个人理解就是个窗口渲染器,也是vtk的核心,没了这玩意儿你没法去操作你的vtkActor,你的vtkInteractorStyle也没有挂载区域
vtk的新版本不再是QVTKWidget,也就是说这玩意儿没了,一番找资料后发现,哦,原来是改名字了,新版本改成了QVTKOpenGLWidget
可以看到图中的vtkOutputWindow,这个窗口是vtk内置的错误信息弹框,也就是说有异常的时候回给你输出信息提示,但其实你在输出一样能看到只是没有这个直观而已。
QVTKWidget有默认的RenderWindow,而QVTKOpenGLWidget是没有的(是空指针)
基于VTK&ITK的Qt应用程序开发
1.总而言之,言而总之,不外乎先写CMakeLists.txt脚本,然后用CMake Configure,再Generate对应的工程,注意要打开生成的StartVS_Debug.bat或者StartVS_Release.bat,因为两个批处理文件已经设置好所有的环境变量,可以保证你在进入Visual Studio环境,编译、链接、运行程序的时候不会出错。
2.VTK就是Visualization Toolkit,做可视化的工具包;Qt是做界面的,而且是跨平台的;ITK是Insight Segmentation andRegistration Toolkit的缩写,对于做医学图像的人都是非常熟悉的一个开发包,主要封闭了很多与医学图像相关的分割与配准的算法。这三个一结合,各司其职:VTK负责可视化;ITK没有可视化的东西,但算法较多,而且对文件读写支持非常好(比如医学图像的标准格式DICOM图像,里面用到了GDCM,可以很好地支持DICOM图像的读写操作),所以ITK负责做底层算法处理;Qt就做界面,负责与用户交互。大概就像图1所画的。
所用到的类主要有:
itkImageToVTKImageFilter 将ITK读取的图像数据传递给VTK显示。
vtkBorderSelectionWidget
vtkDataSet3DCroppingPlaneCallback
vtkImage3DCroppingBoxCallback
vtkImageBlendWithMask
vtkInteractorStyleImage2D
vtkOrientationAnnotation
vtkOrientedBoxWidget
vtkRulerWidget
vtkSynchronizedView
vtkViewImage
vtkViewImage2D
vtkViewImage2DCommand
vtkViewImage2DFullCommand
vtkViewImage3D