windows 下 qt 显示 点云

实现要确保   qt 配置了pcl  和vtk

创建项目

 

 

 

 

 

 

 

 创建txt   修改为  pri

 

 添加     include(1.pri  的路径)                     重新构建

 就在1.pri  添加pcl  环境  和  lib

INCLUDEPATH += F:/jmqt/PCL_1.11.1/include/pcl-1.11 \F:/jmqt/PCL_1.11.1/3rdParty/VTK/include/vtk-8.2 \F:/jmqt/PCL_1.11.1/3rdParty/Boost/include/boost-1_74 \F:/jmqt/PCL_1.11.1/3rdParty/Eigen/eigen3 \F:/jmqt/PCL_1.11.1/3rdParty/FLANN/include \F:/jmqt/PCL_1.11.1/3rdParty/OpenNI2/include \F:/jmqt/PCL_1.11.1/3rdParty/Qhull/include \LIBS += F:/jmqt/PCL_1.11.1/lib/*.lib \F:/jmqt/PCL_1.11.1/3rdParty/Qhull/lib/*.lib \F:/jmqt/PCL_1.11.1/3rdParty/Boost/lib/*.lib \F:/jmqt/PCL_1.11.1/3rdParty/VTK/lib/*.lib \

 配置完成开始设计界面

 添加一个按钮

 把wigdet   提升   QVTKWidget

下面  查看是否提升成功

 按钮转到槽

开始运行

搜索  dll  并且  进行复制

 

 

 

 在次运行  发现   空白  并且   闪退

 解决添加 头文件

#include 
VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);

 

 添加一些头文件

#include 
#include "QDebug"
#include 
#include 
#include 
#include 
#include //pcd 读写类相关的头文件。
#include 
#include  //PCL中支持的点类型头文件。
#include 
#include 
#include "vtkRenderWindow.h"
#include 
#include 
//消除vtk  警告——不弹出vtkOutputWindow窗口VTK_MODULE_INIT(vtkRenderingOpenGL2)
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingFreeType);
//声明std
using namespace std;

vtkOutputWindow::SetGlobalWarningDisplay(0);//强制消除警告

 在按钮里面 写  初始化+ 功能

void MainWindow::on_pushButton_clicked()
{pcl::PointCloud::Ptr cloud;boost::shared_ptr viewer;cloud.reset(new pcl::PointCloud);viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));viewer->addPointCloud(cloud, "cloud");//声明+初始化vtkui->widget->SetRenderWindow(viewer->getRenderWindow());viewer->setupInteractor(ui->widget->GetInteractor(), ui->widget->GetRenderWindow());ui->widget->update();QString fileName = QFileDialog::getOpenFileName(this, "Open PointCloud", ".", "Open PCD files(*.pcd)");pcl::io::loadPCDFile(fileName.toStdString(), *cloud);viewer->updatePointCloud(cloud, "cloud");viewer->resetCamera();ui->widget->update();}

 运行


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部