VTK相关的基础知识
VTK,visualization toolkit,可视化工具包,主要应用于三维计算机图形、图像处理和可视化方面。它在三维函数库OpenGL的基础上采用面向对象的设计方法发展而来,且具有跨平台的特性。
VTK面向对象,含有大量的对象模型。
源对象是可视化流水线的起点,映射器(Mapper)对象是可视化流水线的终点,是图形模型和可视化模型之间的接口.
回调(或用户方法): 观察者监控一个对象所有被调用的事件,如果正在监控的一个事件被触发,一个与之相
应的回调函数就会被调用。
图形模型:
Renderer 渲染器,vtkRenderWindow 渲染窗口
可视化模型:
vtkDataObject 可以被看作是一个二进制大块(blob)
vtkProcessObject 过程对象一般也称为过滤器,按照某种运算法则对数据对象进行处理
VTK的非安装配置
如果有现成的含有dll文件(通常在bin文件夹中)同时想要不安装其他软件,那么可以这样:
现在假设有VTK各种库文件的文件夹,放于C盘。
新建工程,配置附加包含目录,假设VTK文件夹放于C盘,右击相应的解决方案,属性——配置属性——C/C++——常规 附加包含目录中 输入: C:\VTK\include\vtk-5.10
C/C++同级目录下:链接器——常规——附加库目录: C:\VTK\lib\vtk-5.10
C/C++同级目录下:链接器——输入——附加依赖项:
LSDyna-gd.lib
MapReduceMPI-gd.lib
mpistubs-gd.lib
vtkalglib-gd.lib
vtkCharts-gd.lib
vtkCommon-gd.lib
vtkDICOMParser-gd.lib
vtkexoIIc-gd.lib
vtkexpat-gd.lib
vtkFiltering-gd.lib
vtkfreetype-gd.lib
vtkftgl-gd.lib
vtkGenericFiltering-gd.lib
vtkGeovis-gd.lib
vtkGraphics-gd.lib
vtkhdf5_hl-gd.lib
vtkhdf5-gd.lib
vtkHybrid-gd.lib
vtkImaging-gd.lib
vtkInfovis-gd.lib
vtkIO-gd.lib
vtkjpeg-gd.lib
vtklibxml2-gd.lib
vtkmetaio-gd.lib
vtkNetCDF_cxx-gd.lib
vtkNetCDF-gd.lib
vtkpng-gd.lib
vtkproj4-gd.lib
vtkRendering-gd.lib
vtksqlite-gd.lib
vtksys-gd.lib
vtktiff-gd.lib
vtkverdict-gd.lib
vtkViews-gd.lib
vtkVolumeRendering-gd.lib
vtkWidgets-gd.lib
vtkzlib-gd.lib
丢失vtkCommon-gd.dll (或其他相关文件)的解决:
复制文件到C:\windows\System32 与C:\windows\sysWOW64 (64位系统文件夹)再注册:
以管理员的方式打开cmd并输入:C:\windows\system32>regsvr32 C:\Windows\System32\vtkCommon-gd.dll
dll 一次性全注册:
在cmd中输入:
for %1 in (%windir%\system32 *.dll) do regsvr32.exe /s %1
回车运行。
最简单的例子
仅仅出现黑色窗口:
#include <vtkRenderWindow.h>
#include <vtkSmartPointer.h>
int main(){
vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();
renWin->Render();
std::cin.get();
return 0;
}
VTK读取图像与另存图像
简单读取显示并另存:
#include <vtkSmartPointer.h>
#include <vtkPNGWriter.h>
#include <vtkImageViewer2.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderer.h>
#include <vtkTexture.h>
#include <vtkPlaneSource.h>
1万+




被折叠的 条评论
为什么被折叠?



