专栏首页点云PCLwindow下CMake与VTK安装

window下CMake与VTK安装

此文章是讲述在window下安装和配置VTK工具包的记录,Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,2000多个类,还包含有几个转换界面,因此也可以自由的通过Java,Tcl/Tk和Python各种语言使用vtk。

PCL库函数中可视化,以及一些设计到CAD的obj格式的点云的处理都是基础VTK的所以这个工具,也是十分重要。

(1) CMake安装

电脑配置: win10,vs2017社区版

在Cmake官网下载Cmake安装包,双击运行安装。

开始安装,基本是一直Next就可以,

可以添加CMake到系统路径,比较方便。

选择安装路径,继续Next

点击install安装

完成安装

可以看到已经安装好了

(2) VTK安装

在VTK官网下载VTK安装用的源码包、数据包、文档包,其中文档包可下载可不下载,很多教程提到的.exe文件(Installer)只是一个辅助教学程序,帮助了解VTK的,并不是所谓的安装包,所以在后面更新的版本中,VTK已经不提供.exe文件了。

新建一个VTK8.0的文件夹,并在该文件夹下建立三个子文件夹,VTKScr、VTKData、VTKDoc分别存放对应的解压文件,再新建一个bin子文件夹

打开CMake,设置Source code路径和Build路径

Source code是解压后的源码文件夹的路径

Build路径是bin路径

检查路径是否正确,点击configure按钮

选择要使用的编译器Visual Studio 15 2017(可以根据自己电脑装的VS版本进行更改),选择使用本地编译器,点击finish,完成

等待构建,完成后如图

勾选需要的功能

BUILD_EXAMPLES——指明是否编译VTK中的例子。未激活可以减少编译时间,之后也

可以再进行单独编译。

·BUILD_TESTING——指明是否编译VTK中的测试代码。未激活可以减少编译时间,之后也

可以再进行单独编译。

·BUILD_SHARED_LIBS——指明是否创建共享库。如果激活,那么DLL或共享库将会被创建,这样之后生成的VTK应用程序将会比较小,可以节省不少空间;如果未激活,那么静态库将被创建。缺省设置是静态库。

·CMAKE_INSTALL_PREFIX——VTK的生成路径。安装可以使源码中的.h文件及编译生成的.lib文件和.exe程序分别复制到安装路径的不同子目录下。

VTK_WRAP_JAVAVTK_WRAP_PYTHONVTK_WRAP_TCL —这三个选项是供准备使用Java、Python或者Tcl语言开发VTK工程的用户选择的。VTK由两个子系统组成,分别是C++类库和提供给Java、Tcl和Python来操作该类库的解释器工具,如果勾上以上三个选项,即会编译这些解释器工具。

勾选 “Advance”复选框,可以在CMake界面上看到更多的选项,各选项分别表示什么意思,可以把鼠标在该选项名字停留片刻,即会弹出关于该选项的提示信息。另外“Advance”视图下以下几个选项需要说明一下:

BUILD_DOCUMENTATION —默认是关闭的,如果打开这个选项,则会编译VTK帮助文档,由于这个文档VTK已提供下载,所以可以不选。

VTK_USE_GUISUPPORT —VTK是否支持GUI,Windows下如果需要使用MFC开发的,需要勾选上这个选项。本教程在演示的时候也会把这个选项勾选,如果你确定不使用MFC,可以不用选择该选项。

·VTK_USE_GUISUPPORT——指明是否支持GUI。激活后Configure,会产生两个新缓存项,激活其中一个缓存项VTK_USE_MFC,这样就可以进行VTK与MFC的混合编程,可以编写类似于VTK自带的例子Examples\GUI\Win32\vtkMFC中的程序。如果不选将无法利用MFC类库。

·VTK_WRAP_TCL——可以帮助我们调试一些基于TCL脚本的VTK实例

如果报错说找不到编译器的话,确认一下自己编译器的版本是不是VS2017,再注意VS2017的c++编译组件是否已经下载好,没下载好就用vs新建一个c++工程,因为vs默认安装的时候并没有自行下载

再次点击configure,完成后点击generate

编译完成后再在解决方案中找到INSTALL工程,右击该工程后选择生成,即可完成VTK的安装,VTK的安装路径为CMAKE_INSTALL_PREFIX参数所设。

VTK是一个开放源码、自由获取的软件系统,研究人员和开发人员用它来进行3D计算机图形,图像处理,可视化。VTK包含一个c++类库,众多的翻译接口层,包括Tcl/Tk,Java,Python。 Visualization Toolkit 是一个用于可视化应用程序构造与运行的支撑环境,它是在三维函数库OpenGL 的基础上采用面向对象的设计方法发展起来的,它将我们在可视化开发过程中会经常遇到的细节屏蔽起来,并将一些常用的算法封装起来。比如 Visualization Toolkit 将我们在表面重建中比较常见的MarchingCubes 算法封装起来,以类的形式给我们以支持,这样我们在对三维规则点阵数据进行表面重建时就不必再重复编写MarchingCubes 算法的代码,而直接使用Visualization Toolkit 中已经提供vtkMarchingCubes 类。 Visualization Toolkit 是给从事可视化应用程序开发工作的研究人员提供直接的技术支持的一个强大的可视化开发工具

由于篇幅较长,下一讲将会说明如何配置VTK工程,并给出测试例程!!!感谢四四十六道友的分享,同时也鼓励大家一起分享!

联系邮箱或者QQ:920177957@qq.com,亦可以加入QQ群一起交流学习。

本文分享自微信公众号 - 点云PCL(dianyunPCL),作者:四四十六

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-11-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • AR设备单目视觉惯导SLAM算法综述与评价

    标题:Survey and evaluation of monocular visual-inertial SLAM algorithms for augmen...

    点云PCL博主
  • 基于鱼眼相机的SLAM方法介绍

    本文是一篇关于鱼眼相机的SLAM的介绍以及开源demo体验的介绍,希望有兴趣的小伙伴能够自行体验,并积极分享相关内容。欢迎交流和讨论,联系邮箱:dianyunp...

    点云PCL博主
  • 可视化深度图像

    在3D视窗中以点云形式进行可视化(深度图像来自于点云),另一种是将深度值映射为颜色,从而以彩色图像方式可视化深度图像,

    点云PCL博主
  • Java Swing程序开发—右下角显示进度条

    转入正题:这篇文章实现在桌面右下角显示一个进度条,显示当前程序运行的进度。而且鼠标能够拖动进度条。有需要的童鞋,可以直接拷贝代码过去使用!

    卡尔曼和玻尔兹曼谁曼
  • 美大学推出人工智能助教

    2016年5月9日,美国乔治亚理工学院发布消息称,该校推出了人工智能助教。 该校计算学院的教授Ashok Goel每学期都开设基于知识的人工智能(KBAI)课程...

    人工智能快报
  • netty了解与应用

    学习netty之前,必须先了解下什么是nio,关于nio的教程网上非常多,和传统io的比较,优势,如何使用,各个方面都有比较细致的分析。

    sucl
  • 「 从0到1学习微服务SpringCloud 」13 断路器Hystrix

    在微服务架构中,很多情况下,各个服务之间是相互依赖,一个服务可能会调用了好几个其他服务,假设其中有一个服务故障,便会产生级联故障,最终导致整个系统崩溃无法使用(...

    KEN DO EVERTHING
  • LeetCode 1248. 统计「优美子数组」(要复习)

    如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。

    Michael阿明
  • [深度学习概念]·深度学习Transformer模型介绍

    常见的seq2seq问题,比如摘要提取,机器翻译等大部分采用的都是encoder-decoder模型。而实现encoder-decoder模型主要有RNN和CN...

    小宋是呢

扫码关注云+社区

领取腾讯云代金券