天天看点

WIN10下PCL1.8.1+VTK8.0+ VS2015(QT)配置方法

提醒:多看官网教程+错误信息,努力尝试不要放弃。这是我配置最复杂的开发环境。

本文需要的软件和库如下:

1.Qt下载地址:github 下载文件: qt-opensource-windows-x86-5.9.4.exe

2.vtk 下载地址:github 下载文件:vtk-v8.0.0.zip

3.vs2015

4.PCL1.8.1

  1. VTK编译方法

参考:win10环境下VTK7.1的编译和Qt调用VTK的详细教程二(VS2013编译支持Qt的VTK库)https://www.cnblogs.com/tianhu9102/p/7641397.html

VTK的CMAKE环境,qt相关设置非常重要

WIN10下PCL1.8.1+VTK8.0+ VS2015(QT)配置方法

关键是非常耗时,用时2.5小时,vs下载了很多文件extradata(后来可以直接VTK下载)。第二次只选择了BULID_SHARED_LIBS,不要选中BUILD_EXAMPLES,BULID_TESTING,等,编译时间30分钟左右。

  1. 测试

    以经典入门程序qt_visualizer作为测试,必须增加以下语句。

    VTK_MODULE_INIT(vtkRenderingOpenGL2) ;

    VTK_MODULE_INIT(vtkInteractionStyle) ;

    VTK_MODULE_INIT(vtkRenderingFreeType);

    测试程序<qt_visualizer>

#ifndef PCLVIEWER_H
#define PCLVIEWER_H

#include <iostream>

// Qt
#include <QMainWindow>



#include <vtkAutoInit.h>  
VTK_MODULE_INIT(vtkRenderingOpenGL2) ;
VTK_MODULE_INIT(vtkInteractionStyle) ;
VTK_MODULE_INIT(vtkRenderingFreeType);

// Point Cloud Library
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/visualization/pcl_visualizer.h>


//
#include <QVTKOpenGLWidget.h>
// Visualization Toolkit (VTK)
#include <vtkRenderWindow.h>




typedef pcl::PointXYZRGBA PointT;
typedef pcl::PointCloud<PointT> PointCloudT;

namespace Ui
{
  class PCLViewer;
}

class PCLViewer : public QMainWindow
{
  Q_OBJECT

public:
  explicit PCLViewer (QWidget *parent = 0);
  ~PCLViewer ();

public Q_SLOTS:
  void
  randomButtonPressed ();

  void
  RGBsliderReleased ();

  void
  pSliderValueChanged (int value);

  void
  redSliderValueChanged (int value);

  void
  greenSliderValueChanged (int value);

  void
  blueSliderValueChanged (int value);

protected:
  boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer;
  PointCloudT::Ptr cloud;

  unsigned int red;
  unsigned int green;
  unsigned int blue;

private:
  Ui::PCLViewer *ui;

};

#endif // PCLVIEWER_H

           

效果

WIN10下PCL1.8.1+VTK8.0+ VS2015(QT)配置方法

继续阅读