PCL各版本QT配置问题
- 一、资源下载
- 1、vs2015 -pcl1.8.1 - qt5.12 -vtk8
- 2、 vs2019-pcl 1.11.1-qt 5.12-vtk8.2
- 3、 vs2019-pcl1.12.1-qt 6.2.4-vtk9.1
- 4 、vs2022-pcl1.13.0-qt 6.2.4-vtk9.2
- 二、版本
- 1、 vs2015 -pcl1.8.1 - qt5.12 -vtk8
- 2、 vs2019-pcl 1.11.1-qt 5.12-vtk8.2
- 3、 vs2019-pcl1.12.1-qt 6.2.4-vtk9.1
- 4 、vs2022-pcl1.13.0-qt 6.2.4-vtk9.2
- 5、自己配置过程
- 6、简单配置教程
- 1、下载我编译好的对应版本
- 更改对应路径
- 三、升级QT6后注意事项
- 1、PCL1.12、1.13版本指针释放问题
- pcl指针释放问题
- 2、QT6中vtk显示问题
- pcl1.12中QVTKOpenGLNativeWidget 显示代码
- pcl1.13中QVTKOpenGLNativeWidget 显示代码
- 窗口显示控件 QVTKOpenGLNativeWidget
- pro文件
- 3、QT6 PCL显示窗口QVTKOpenGLNativeWidget 不更新问题
- pcl1.12
- pcl1.13
- 3、PCL1.12、1.13中视角显示问题
一、资源下载
下面是我编译好的各版本pcl,注意对应关系:
1、vs2015 -pcl1.8.1 - qt5.12 -vtk8
用的最久的版本
pcl1.8.1太久远了,电脑实在找不到了
2、 vs2019-pcl 1.11.1-qt 5.12-vtk8.2
个人觉得最好用的版本
qt5+pcl1.11版本
3、 vs2019-pcl1.12.1-qt 6.2.4-vtk9.1
qt6+pcl1.12版本
4 、vs2022-pcl1.13.0-qt 6.2.4-vtk9.2
qt6+pcl1.13版本
二、版本
1、 vs2015 -pcl1.8.1 - qt5.12 -vtk8
测试案例:
pcl1.8.1测试案例
2、 vs2019-pcl 1.11.1-qt 5.12-vtk8.2
测试案例:
pcl1.11.1测试案例
3、 vs2019-pcl1.12.1-qt 6.2.4-vtk9.1
测试案例:
pcl1.12.1测试案例
4 、vs2022-pcl1.13.0-qt 6.2.4-vtk9.2
测试案例:
pcl1.13.0测试案例
5、自己配置过程
参考网上配置PCL1.12+VTK9.1+QT6
6、简单配置教程
1、下载我编译好的对应版本
已pcl1.13.0为例,注意qt与pcl对应版本关系
更改对应路径
打开环境变量,先更改OpenNI2的路径
继续修改系统path里面的路径,改完即可。
三、升级QT6后注意事项
1、PCL1.12、1.13版本指针释放问题
pcl指针释放问题
VS解决办法 :pcl内存释放
QT解决办法 :pro文件添加
QMAKE_CXXFLAGS += /arch:AVX
2、QT6中vtk显示问题
下面就是pcl在qt中的显示,和qt5略有不同。
pcl1.12中QVTKOpenGLNativeWidget 显示代码
viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
vtkNew<vtkGenericOpenGLRenderWindow> window;
window->AddRenderer(viewer->getRendererCollection()->GetFirstRenderer());
ui->openGLWidget->SetRenderWindow(window.Get());
viewer->setupInteractor(ui->openGLWidget->GetInteractor(), ui->openGLWidget->GetRenderWindow());
ui->openGLWidget->update();
pcl1.13中QVTKOpenGLNativeWidget 显示代码
viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
vtkNew<vtkGenericOpenGLRenderWindow> window;
window->AddRenderer(viewer->getRendererCollection()->GetFirstRenderer());
ui->openGLWidget->setRenderWindow(window.Get());
ui->openGLWidget->update();
窗口显示控件 QVTKOpenGLNativeWidget
pro文件
如果报错,可能是以下未添加!
QT += openglwidgets
3、QT6 PCL显示窗口QVTKOpenGLNativeWidget 不更新问题
pcl1.12
每次添加点云时候,先添加以下
viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
vtkNew<vtkGenericOpenGLRenderWindow> window;
window->AddRenderer(viewer->getRendererCollection()->GetFirstRenderer());
ui->openGLWidget->SetRenderWindow(window.Get());
viewer->setupInteractor(ui->openGLWidget->GetInteractor(), ui->openGLWidget->GetRenderWindow());
完整显示
viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
vtkNew<vtkGenericOpenGLRenderWindow> window;
window->AddRenderer(viewer->getRendererCollection()->GetFirstRenderer());
ui->openGLWidget->SetRenderWindow(window.Get());
viewer->setupInteractor(ui->openGLWidget->GetInteractor(), ui->openGLWidget->GetRenderWindow());
viewer->addPointCloud<pcl::PointXYZ>(cloud.makeShared(),std::to_string(cloud_vec.size()-1));
//设置点云大小
viewer->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, point_size, std::to_string(cloud_vec.size()-1));
viewer->resetCamera();
ui->openGLWidget->update();
pcl1.13
每次添加点云时候,先添加以下
viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
vtkNew<vtkGenericOpenGLRenderWindow> window;
window->AddRenderer(viewer->getRendererCollection()->GetFirstRenderer());
ui->openGLWidget->setRenderWindow(window.Get());
完整显示
//每次添加点云时候,先添加以下
viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
vtkNew<vtkGenericOpenGLRenderWindow> window;
window->AddRenderer(viewer->getRendererCollection()->GetFirstRenderer());
ui->openGLWidget->setRenderWindow(window.Get());
viewer->addPointCloud<pcl::PointXYZ>(cloud.makeShared(),std::to_string(cloud_vec.size()-1));
//设置点云大小
viewer->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, point_size, std::to_string(cloud_vec.size()-1));
viewer->resetCamera();
ui->openGLWidget->update();
3、PCL1.12、1.13中视角显示问题
尚未解决!!!!