VS2017 中在QT中显示点云或3D图形
在VS2017中,想要在qt生成界面中显示点云,但是pcl的vtk并没有,所以需要自己编译。
原因:因为没有单独安装VTK,PCL中安装版中自带的vtk缺少QVTKWidget.dll,这样在QT Designer中就无法显示点云,故需自己编译VTK。
前提:已经安装好VS2017、QT5.9.、PCL1.81、CMake(是使用CMake编译)(大版本对应就可按此方法进行VTK编译)
工具 : vtk8.0.1的链接在这https://https://gitlab.kitware.com/vtk/vtk/tree/v8.0.1
(因为PCL1.81中自带的VTK是8.0版本,故需下载vtk8.0开头版本)
安装过程
1.将下载好的安装包VTK安装包复制到PCL安装目录3rdParty下解压(后期可删除),然后将原VTK文件夹备份为VTK_copy(若成功可删除,不成功可还原),并新建空文件夹VTK代替。
pcl的安装目录,在3rdParty下有自带的VTK,我们先备份VTK文件夹为VTK_copy,然后一个空VTK文件夹,把编译后的VTK就放到这个新建的VTK文件夹下,(QT自带编码不能识别window下中文或空格,注意这点,路径尽量不要含有中文)。
2.cmake编译VTK步骤
2.1 打开cmake-gui进行配置,首先在解压的vtk8.0.1文件夹中新建一个空文件夹build。
source code :VTK-8.1.1.zip解压后的目录
build the binaries :在VTK-8.1.1.zip解压后的目录下新建一个build目录
2.2 点击configure, 选择编译器
注意选择自己的配置。
2.3 configure完成之后一片红,但是不用担心,因为我们还没有开始配置
勾选Grouped和Advanced,进行以下设置:
BUILD下取消勾选BUILD_TESTING,只留BUILD_SHARED_LIBS就行了CMAKE下CMAKE_INSTALL_PREFIX设置为你新建的VTK文件夹INSTALL下目录也替换成你新建的VTK文件夹VTK下勾选VTK_Group_Qt,VTK_RENDERING_BACKEND设置为OpenGL(这里一定要注意,否则pcl显示框会出错)。
点击Add Entry,添加CMAKE_DEBUG_POSTFIX,Value设置为-gd(用来区别debug和release版本)
再次点击configure
编译vtk-8.0.1的时候,由于qt默认版本号是4,这里的5.10的qt会报错,修改为5即可
再次configure qt5已经自动识别出来了,目录正确,无需修改,点击configure
点击generate
点击open project 自动打开vs