C/C++教程

QT vtk6.3+pcl1.8的配置以及简单使用

本文主要是介绍QT vtk6.3+pcl1.8的配置以及简单使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

创建一个mainwindow工程,拖入VTK控件

1.配置(.pro文件) 添加相应路径

INCLUDEPATH += /usr/local/include/vtk-6.3 \ # vtk
               /usr/include/pcl-1.8 \       # pcl
               /usr/include/eigen3          # eigen3 (pcl need)
LIBS += /usr/local/lib/libvtk*.so \            # vtk lib
        /usr/lib/x86_64-linux-gnu/libpcl*.so \ # pcl lib
        /usr/lib/x86_64-linux-gnu/libboost*.so # boost (pcl need)

2.主函数(main文件) 初始化

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

 3.主窗体(mainwindow.h 或者.cpp) 添加相应头文件

#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <vtkRenderWindow.h> 
//解决invalid static_cast from type 'vtkObjectBase* const' to type 'vtkRenderWindow*'

 4.主窗体构造函数中 读取点云并显示

// 创建以及关联    
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("Viewer",false)); // name noshow
viewer->setupInteractor(ui->qvtkWidget->GetRenderWindow()->GetInteractor (), ui->qvtkWidget->GetRenderWindow ());
ui->qvtkWidget->SetRenderWindow (viewer->getRenderWindow ());
// 读取以及显示
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr tmp( new pcl::PointCloud<pcl::PointXYZRGBA>() );
pcl::io::loadPCDFile("/home/gy/1.pcd", *tmp);
viewer->addPointCloud(tmp,"cs");

5.结果图片

 

这篇关于QT vtk6.3+pcl1.8的配置以及简单使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!