html网站设计范例,电子商务网站页面设计图片,软件工程专业学校排名,考互联网营销师证书要多少钱先添加一个带有ui的QT应用程序。
一、在ui界面中添加QVTKOpenGLNativeWidget控件
先拖出来一个QOpenGLWidget控件 修改布局如下#xff1a; 然后将QOpenGLWidget控件提升为QVTKOpenGLNativeWidget控件#xff0c;步骤如下#xff1a;
右击QOpenGLWidget窗口#xff0c;选…先添加一个带有ui的QT应用程序。
一、在ui界面中添加QVTKOpenGLNativeWidget控件
先拖出来一个QOpenGLWidget控件 修改布局如下 然后将QOpenGLWidget控件提升为QVTKOpenGLNativeWidget控件步骤如下
右击QOpenGLWidget窗口选择【提示为...】 输入提升的类名称为QVTKOpenGLNativeWidget 此时需要把自动生成的qvtkopenglnativewidget.h修改为QVTKOpenGLNativeWidget.h否则报错找不到qvtkopenglnativewidget.h头文件因为下载下来的头文件名称为QVTKOpenGLNativeWidget.h。
点击【添加】按钮。 选中提升的类点击【提升】按钮。 二、修改.pro文件添加所需库
INCLUDEPATH /usr/include/eigen3INCLUDEPATH /usr/local/include/vtk-8.2
LIBS /usr/local/lib/libvtk*.soINCLUDEPATH /usr/local/include/pcl-1.13
LIBS /usr/local/lib/libpcl_*.so
三、添加所需头文件
#include vtkRenderWindow.h
#include pcl/visualization/pcl_visualizer.h
#include pcl/point_types.h//各种格式的点的头文件
#include pcl/io/pcd_io.h
#include vtkGenericOpenGLRenderWindow.h
四、显示点云代码
先在头文件widget.h中添加 boost::shared_ptr pcl::visualization::PCLVisualizer view;
在widget.cpp文件中的构造函数中添加初始化 vtkSmartPointervtkRenderer renderer vtkSmartPointervtkRenderer::New();vtkSmartPointervtkGenericOpenGLRenderWindow renderWindow vtkSmartPointervtkGenericOpenGLRenderWindow::New();renderWindow-AddRenderer(renderer);view.reset(new pcl::visualization::PCLVisualizer(renderer,renderWindow,viewer,false));view-setupInteractor(ui-guiwidget-GetInteractor(),ui-guiwidget-GetRenderWindow());ui-guiwidget-SetRenderWindow(view-getRenderWindow());
添加按钮的点击事件对应的槽函数添加加载点云的代码 //读取pcd文件并显示pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ());//创建点云指针QString fileName QFileDialog::getOpenFileName(this, Open PointCloud, ., Open PCD files(*.pcd));if(fileName ) return;pcl::io::loadPCDFile(fileName.toStdString(),*cloud);view-addPointCloud(cloud,cloud);view-resetCamera(); //视角ui-guiwidget-update();在main.cpp中引用下面头文件并在QApplication调用前添加下面代码解决报opengl版本过低的问题。
#include QSurfaceFormat
#include QVTKOpenGLNativeWidget.h
QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());
全部整体代码见下图 五、运行程序
运行界面如下 点击【load_pcd】按钮加载点云的pcd文件。
pcd文件可直接在解压的pcl源文件中的test文件夹中查看。 但是存在一个问题加载完文件之后需要点击一下视图或者对视图进行一下缩放操作才能出现点云数据图像之前用VTKWidget时加载完文件可以直接显示出来。如果有知道此问题出现的原因以及解决办法的网友希望评论告知感谢
也可以去下面链接去下载网上找到的关于兔子的例子都是在下面链接中下载的不过下载的是ply文件需要转为pcd文件转换方法在下一篇文章会说明。
The Stanford 3D Scanning Repository