这么多开源

vtk里面也用了很多开源代码。至少zlib图形库和OpenCV是用了一些的。

什么是OpenCV

OpenCV是Intel®开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。

[ 编辑]

重要特性

OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。

OpenCV 对非商业应用和商业应用都是免费(FREE)的。(细节参考 license)。


OpenCV 为Intel® Integrated Performance Primitives (IPP) 提供了透明接口。 这意味着如果有为特定处理器优化的的 IPP 库, OpenCV 将在运行时自动加载这些库。 更多关于 IPP 的信息请参考: http://www.intel.com/software/products/ipp/index.htm


 

VTK 入门简介  
                                           VTK 编程简介

0 如何利用文档
VTK 是由 Will Schroeder 等创立的 Kitware Inc. 的开放源码产品。Kitware 提供关于VTK 的技术支持和各种服务产品,包括教科书和用户指南:The Visualization Toolkit An Object-Oriented Approach To 3D Graphics, 3rd edition 和 The Visualization Toolkit User's Guide 。两本书的内容各有侧重,教科书主要介绍可视化的各种算法以及 VTK 中的数据结构,而用户指南强调软件的使用方法。可以根据使用过程中遇到的不同问题参考两本书中的相应章节。编程中对具体的类、函数等的使用可以参考电子版 的手册。编程中遇到的问题,可以在 VTK 的 maillist 上提出,一般都会有解答。
1 编译 VTK 库
1.1 准备源代码
从 http://www.vtk.org/ 下载源代码。源代码按成熟度依次分为官方发行版、每日打包版和 CVS 开发版,其中官方发行版最稳定,CVS 开发版最新。一般应用使用官方发行版即可。

1.2 用 CMake 产生具体平台下的工程文件
VTK 是用 C++ 语言开发的平台无关的图形库。为了使相互关联的 VTK 库代码能在不同平台(如 Windows 和 Unix)和不同编译器(如 Visual Studio 6.0 和 Borland)下方便使用,Kitware 开发了 CMake 这一转换工具。比如使用 CMake,可以为 Windows 平台下的 Visual Studio 6.0 产生相应的工程文件(.dsp 或 .dsw 文件),此后就可以在 Visual Studio的集成开发环境(IDE)下进行编译连接了。
CMake 提供一个用户界面,用户可以定制某些变量,其中比较重要的是 BUILD_SHARED_LIBS,根据它的选择可以生成 VTK 的静态库或者动态链接库。如果编译成静态库,那么在开发应用程序时要将相应库代码加入可执行程序;如果是动态库,则可执行程序与动态链接库是分离的。用动 态库的好处是可以减小主程序的体积,缺点是可执行程序不能独立运行。不过在有些情况下,因为某些专利算法在商业用途里只能授权使用,所以 VTK 提供的部分代码只能以动态链接库的方式使用,所以应该熟悉编译动态链接库的方法。其他较常见的重要变量有 VTK_USE_PATENTED 、VTK_USE_HYBRID 等,编译时使它们打开开关,就可以编译出相应的库以便日后使用了。
 
1.3 编译库
以下以 Windows 平台下的 Visual Studio 6.0 编译环境为例来说明使用方法,不再声明。
打开用 CMake 产生的 .dsw 文件,选择工程类型进行编译。工程类型主要分两类:Release 和 Debug ,开发过程中一般用 Debug ,到发行时再用 Release ,所以在此用Debug即可。编译整个工程产生全部库,这个过程所需时间很长。编译完成后,会在 CMake 里面指定的目标目录内(如 vtkbin )产生编译出的库文件(缺省在 vtkbin/bin/Debug 目录内)。
2 在 Visual Studio 6.0开发环境下使用 VTK 库
VTK 库编译好了以后,就可以在 Visual Studio 开发环境下使用 VTK 库了。使用 VTK库首先要设置头文件和库文件的路径,以便使用 VTK 库的程序在编译和链接的时候可以搜索到。头文件的位置即源代码的各个子目录,里面包含了大量的 .h 文件。将其路径加入到 Visual Studio 6.0 的 Tools -> Options -> Directories 内,如图 2。注意除了源码的各个子目录外,还要加上一个 vtkConfigure.h 文件的路径,它在 CMake 产生的目标目录内。库文件的设置与此类似,也在 Directories 页面进行,其路径是前述编译产生库文件的目录(如 vtkbin/bin/Debug )。这样设置好路径以后,使用 VTK 库的程序就可以正确地编译和链接了。对于使用动态链接库的程序来说,此时还不能运行编译出来的可执行程序( .exe),还需要一步,即把 VTK 的动态链接库文件所在路径加入操作系统的环境变量 PATH ,或直接将这些库文件拷贝到系统目录。

3 VTK 库编程特点
VTK 库是用面向对象的 C++ 语言写成的,由于主要开发者有着十数年涉及可视化系统的经验,所以 VTK 拥有非常合理的模型和结构。
VTK 的编程风格在教科书的附录 A,包括命名规范、术语定义、各类对象的用途说明等。值得注意的,比如它的对象工厂(Object Factory)概念。在 VTK 里,是用<class>::New() 的方式来初始化对象的,而不是用 C++ 中的 new 来新建对象,对象工厂不仅可以做到代码与设备无关,而且通过引用计数(reference counting),可以使程序清晰简明,不容易发生内存泄漏或崩溃的问题。
VTK 中实现了数百个类及其方法,它们之间简化的继承和关联关系可以从教科书附录 A.3 的图中看到。熟悉不同的类的用途和它们之间的关系,对编程十分有利。
对开发者来说,如何扩充这个类库是重要的,教科书的附录 A.4 介绍了这个问题,而用户指南的开发者指南部分有一章来讲具体的做法。

4通过例子学习 VTK 概念及编程
要用 VTK 库进行可视化编程首先要对可视化要有一定的概念和基础。除了普通的可视化教科书以外,VTK 提供的教科书本身就非常好。VTK 源程序包的 Example 目录包括了一系列例子,它们都有详尽的注释。一步步学习这些例子,可以很容易理解 VTK 涉及的可视化概念和 VTK 编程的一般特点。
学习这些例子首先要成功编译运行它们。这个步骤跟编译库类似,也需要先用 CMake 工具生成 Visual Studio 的工程文件,然后编译;而要保证程序能正确运行,还得保证 VTK 库文件在环境变量的 PATH 内。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值