VTKITK 1 VTK个人资料2 ITK个人资料
1 VTK介绍
VTK(The Visualization ToolKit):可视化的开源工具包。 可自由使用的图像处理和可视化的三维计算机图形软件系统被世界上成千上万的研究者和开发者使用。 类似的东西有opencv
VTK不是公司和公司开发的,而是全世界的科学家做出的贡献
VTK由c代码组成,其大量的库是用c编写的,但提供了一些解释程序接口层,如JAVA和Python。 Kitware为VTK提供专业支持和产品。
)1) VTK提供包括scalar、vector、tensor、texture、and volumetric methods在内的广泛视觉算法
)2) VTK提供了先进的建模技术,例如隐式建模、三角网格简化、网格平滑、切割、轮廓控制等
)3)几十种图像生成算法直接集成,用户可以混合2D图像/3D图像算法和数据
)4)基于先进程序理念,编写面向对象编程,具有良好的可扩展性,易于维护
)在不同的平台(支持跨平台的多种操作系统)上编译VTK,并为该平台创建适当的包) )。
)6) VTK的图形模块是更高级别的抽象,与其他渲染库(如OpenGL )相比更容易创建有用的图形和可视程序。 事实上,底层部分调用OpenGL的很多功能。
)7) VTK程序直接写入c,但支持TCL、java、python。 实际上,JAVA还可以提供很好的GUI。 可以快速构建有用的APP应用程序。
特点:
(1)软件:
在线文档; 基于c代码,但容易理解; 包括很多案例、程序、测试案例、数据; 支持多线程、分布式存储。
)2)交互和界面:
支持集成了多个窗口系统的优秀人机交互,如QT (界面美观但简单); (6)包括点、线等一系列部件。
)3) 3D图形
曲面渲染; 体渲染; 等待
)4)数据类型支持
多边形数据点、线、多边形和三角形条带; 图像和体积; 结构网格
图像((image ) /身体) (volumes ) ) ) ) )。
结构化(非结构化)网格(结构网格) ) ) ) ) ) )。
非结构化点
)5)图像操作
特征、滤波器(低通、高通滤波器、膨胀、腐蚀、卷积、差异、梯度、平均值、距离、FFT、bzdsj、直方图、阈值化、填充等) ) ) ) ) )
优点:
(1)免费
)2)图像、视觉软件制作方便
)3)基于c,但容易扩展。 适应各种语言
)4)图像、视觉、图像代码
)5)支持许多3d小部件
)6)许多先进有用的算法
(7)集成软件
)8)平台库独立
)9)数据与图像等不同结构之间的转换
(10 )面向对象
缺点:
(1)速度慢)熟悉图形学,建议使用OpenGL,VTK更适合不太专业的开发者,特别是图形学。
(2)非常大)电脑配置需要良好
下载:
http://www.vtk.org
2 ITK配置文件VTK的缺点:仅支持三维数据,内存管理较差
ITK:图像配准和图像分割引起广泛关注(ITK的主要推出是医学图像,但由于功能强大,在其他领域也十分流行) ) ) ) )。
ITK也在c上实现,但支持其他语言; 跨平台;
ITK不再支持图形学的功能。
Cmake:vtk和itk使用Cmake进行编译
提供强大的图像功能(配准、分割):
(1)图像配准)互信息(多信息)、地标距离(landmark distance ) )。
(2)图像转换)仿射、Rigid、透射) projective、核操作
(3)优化算法)共轭梯度法、梯度下降法
(4)分割算法:可变形网格(deformable mesh )、分支(watershed )、区域增长(Region growing ) )。
)5)图像处理算法)对比度增强算法、形态学图像处理
(1)图像处理) ITK是强大的图像处理操作(对准、分割等);
)2)可视化:三维绘制,图形学工作,使用VTK、OpenGL
)3)接口:使用QT等工具
ITK所需的工具:
(1) c编译器
)2) Cmake: http://www.cmake.org