写在最前:
看了一段时间的视觉SLAM。出于兴趣想在Windows上实现一个简单的RGBD SLAM小程序并且能够显示点云,于是找到了OpenCV中viz模块的例子,把其中viz模块在Windows上的编译过程分享出来。
我使用的环境是Windows 10 64bit,Visual Studio 2015, OpenCV310+OpenCV contrib, CMake-gui3.6.0,VTK 710。
源代码的下载使用Git Shell,可以安装Github desktop简单得到Git Shell。
为了能够显示点云,我们需要一个能够显示点云的“窗口”,OpenCV的VIZ模块可以实现这个功能。
那么如何能够获得含有VIZ模块的OpenCV是接下来要解决的问题。
提示:VTK的编译和OpenCV的编译过程比较耗时,可以分开来进行。
简单描述步骤如下:
首先下载VTK源代码,使用CMake生成可用Visual Studio编译的工程,然后用Visual stduio打开对应的工程进行编译。
然后下载OpenCV 3.1.0和OpenCV contrib源代码,使用CMake生成链接了VTK库的工程,并用Visual studio打开相应工程进行编译。
具体过程
1.使用git shell下载VTK 7.1.0源代码,并退回到原始目录
git clone https://gitlab.kitware.com/vtk/vtk.git VTK
cd VTK
git checkout v7.1.0
cd ..
2.使用CMake生成可用Visual Studio编译的工程
打开CMkae,点击 Browse Sourse 按钮选择下载好的VTK710源码。(本例中代码位于D:\Temp\VTK)
手动新建一个buildVTK文件夹用来存放生成的工程。(本例中位于D:\Temp\buildVTK,你也可以放在VTK目录下或别的地方)
在CMake中,点击 Browse Build 按钮,选择新建的build目录。(本例中位于D:\Temp\buildVTK)
然后点击 Configure按钮,弹出的编译器选择窗口,本例中选择默认值并直接点击 Finish。
Configure完成之后我们需要做三处修改。
首先修改CMAKE_INSTALL_PREFIX目录到build目录,由于默认目录涉及权限问题。
然后修改INSTALL的五个目录到对应位置。(本例中位于D:/Temp/buildVTK/目录下)
最后修改VTK_RENDERING_BACKEND为OpenGL,由于OpenCV默认使用OpenGL,而VTK7.1.0默认使用OpenGL2。
再点击一次Configure 按钮,让CMake处理更改。
点击Generate按钮生成Visual Studio工程。
3.使用Visual Studio编译VTK710工程
在D:\Temp\buildVTK目录下找到VTK.sln,并双击打开。
右键点击ALL BUILD并点击build进行编译。
这时候你可以稍事休息,等待编译完成。
编译完成之后右键点击INSTALL,并点击Project Only,点击Project Only INSTALL。
整个过程完成之后,你已经完成了VTK710在Windows上的编译和安装。
(本例中安装目录位于D:/Temp/buildVTK/目录下)
4.使用git shell下载OpenCV310和OpenCV contrib源码,并退回到上级目录
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.1.0
cd ..
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 3.1.0
cd ..
5.使用CMake生成可用Visual Studio编译的工程
基本步骤类似于第二步,新启动一个CMake-gui。并建立一个buildOpenCV目录。(本例位于D:\Temp\buildOpenCV)
Browse Sourse选择D:/Temp/opencv
Browse Build选择D:/Temp/buildOpenCV
点击Configure按钮,点击Finish开始配置工程。
配置之后需要做两处修改。
OPENCV_EXTRA_MOULES_PATH设置为D:/Temp/opencv_contrib/modules。
VTK_DIR目录配置为D:/Temp/buildVTK
点击Configure按钮,针对修改项进行配置。
点击Generate按钮,生成Visual Studio可编译的工程。
6.使用Visual Studio编译生成的OpenCV工程
步骤类似于第三步。
在D:\Temp\buildOpenCV目录下找到OpenCV.sln,并双击打开。
右键点击ALL BUILD并点击build进行编译。
这时候你可以再次稍事休息,等待编译完成。
同样的,编译完成之后右键点击INSTALL,并点击Project Only,点击Project Only INSTALL。
整个过程完成之后,你已经完成了OpenCV310+OpenCV contrib+Viz模块在Windows上的编译和安装。
(本例中安装目录位于D:\Temp\buildOpenCV\install目录下)
测试
通过搜索可以看到已经成功编译生成了viz.hpp文件。
在Visual Studio中通过#include
引用
所书教程如有错误、不当之处,欢迎批评、指正 —— 曦沉