视觉化工具函式库(VTK,Visualization Toolkit)是一个开放源码,跨平台的系统,主要用于三维计算机图形学、图像处理和可视化等。
1. 安装ccmake 和 VTK 的依赖项:
sudo apt-get install cmake-curses-gui
sudo apt-get install freeglut3-dev
2.下载VTK-8.2.0库
VTK官方网址
自己选择合适的版本进行下载,解压到VTK文件夹下,再新建文件下名为build
3. 配置VTK
进入build文件夹下:
cd build
cmake-gui
选择文件路径,并勾选Grouped和Advanced, 如果看不到红色部分的内容,可以先点击底下的configure按钮,就可以出现红色部分的内容(我之前遇到过)
配置勾选:Module_vtkGUISupportQt、VTK_Group_Qt [本人需要利用QVTKWidget控件,所以勾选QT]
注意:(1) 当点击configure的时候,如果一切正常,则可发现红色部分全都变为了白色,若发现有部分红色内容,则将文件夹build中内容删除后,重新点击configure就ok了。
(2)点击generate时,可能出现报错:CMAKE中找不到Qt5X11Extras
解决方案:
sudo apt install libqt5x11extras5-dev
4. 编译安装
终端输入:
sudo make
这个编译过程比较漫长
最后输入:
sudo make install
ps:如果项目中用到pcl,则使用vtk时可能会遇到错误:
‘class vtkDataSetMapper’ has no member named ‘ImmediateModeRenderingOff’的问题
解决方法:
经过一番搜索之后,发现是因为vtk8.10(而我安装的是vtk8.2.0)之后的版本中将vtkMapper的ImmediateModeRenderingOn() 和 ImmediateModeRenderingOff()方法移除了,所以为了让pcl1.8的代码编译通过,只需要将错误提示中对应的那一行代码注释掉即可,或者更换为更低版本的vtk也行。我是通过注释掉上述出错的两行代码,因为ImmediateModeRenderingOff()方法不是必须的操作,最后通过了编译。
在pcl中:
/usr/include/pcl-1.8/pcl/visualization/impl/pcl_visualizer.hpp:603:24: error: ‘class vtkMapper’ has no member named ‘ImmediateModeRenderingOn’
注释掉: actor->GetMapper ()->ImmediateModeRenderingOn ()等。
参考文献: