《PCL+QT》各版本环境配置问题总结

news2024/11/19 9:18:49

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中视角显示问题

尚未解决!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/699680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C/C++】解析 类成员函数和this指针

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

RuntimeError: CUDA error: an illegal memory access was encountered

在跑一个Transformer的代码时&#xff0c;出现了这个错误。这个错误信息非常奇怪&#xff0c;通过Debug发现&#xff0c;模型的前向传播是正常的&#xff0c;损失也能计算出来&#xff0c;但是一开始反向传播就出问题了。经过尝试&#xff0c;发现是batch_size过大&#xff0c;…

SpringMvc中文件上传

文章目录 1.导入文件上传所需要的jar包 2. 配置文件解析器 3.写一个前端页面 4.写后台程序 1.导入文件上传所需要的jar包 <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.…

UTONMOS:元宇宙究竟是什么?

元宇宙其实是一个很好玩的事&#xff0c;就在前几年&#xff0c;很多人还认为当时元宇宙的概念市场上被叫做伪概念、纯营销概念&#xff0c;很多行业里的朋友们都说这是骗子才提的。 但是经过半年的发酵和发展&#xff0c;现在大家对“元宇宙”的认知就很不同了&#xff0c;因…

C++数据结构笔记(2)线性表顺序存储的底层实现

本章总结单链表的顺序存储方式及其C实现&#xff0c;重点的理论只需要熟背以下3条&#xff1a; 1.线性表是0个或者多个数据元素的有限序列&#xff0c;其中数据元素类型相同 2.线性表可以逐项访问和顺序存储 3.有顺序存储和链式存储两种存储方式。 接下来&#xff0c;通过动…

Android 逆向入门保姆级教程

作者&#xff1a;37手游移动客户端团队 前言 什么是 Android 逆向开发&#xff1f; Android 逆向开发是指对已发布的 Android 应用进行分析和破解&#xff0c;以了解应用程序的内部工作原理&#xff0c;获取应用程序的敏感信息&#xff0c;或者修改应用程序的行为。逆向开发可…

全网最牛,接口自动化测试mock框架模块实战,入门到高阶...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 mock的介绍 py3已…

基于Docker-compose实现的Postgresql-11的主从复制

参考文章&#xff1a; http://t.csdn.cn/EnOVn http://t.csdn.cn/XTJqZ 记录一次主从复制的配置经历 服务器主从角色分配 ipdb 版本角色192.168.33.23411主192.168.33.22511从 docker-compose.yml文件 version: "3.3" services:postgres:image: postgresql-gis:11…

Windows11添加用户自定义短语

比如要输入手机号码&#xff0c;直接输入sj就会弹出预先设定好的手机号&#xff0c;也可以预先设置好邮箱&#xff0c;身份证等等&#xff0c;这样就不用输入了 这个咋设置的有时候确实会忘记&#xff0c;所以就记下来了 步骤 第一步 打开设置 时间和语言>语言和区域 第二…

WebRTC的技术原理和使用浅析

一、基本介绍 WebRTC即网页即时通信&#xff0c;是一个支持网页浏览器进行音视频对很多 技术方案。 二、技术特征 1.实时通讯: WebRTc是一项实时通讯技术&#xff0c;允许网络应用或者站点&#xff0c;在不借助中间媒介的情况下&#xff0c;建立浏览器之间点对点的连接&…

Java读取文件内容到字符串

例如当前在D:\\test目录下有一个名为demo.txt的文件&#xff0c;文件里面的内容如下图所示&#xff1a; 第一种方式&#xff1a; 使用BuffererReader 缓冲字符输入流 import lombok.extern.slf4j.Slf4j;import java.io.BufferedReader; import java.io.File; import java.io.…

css对盒模型的理解

面试碰到的一个问题&#xff0c;记录一下 ’ CSS3中的盒模型有以下两种&#xff1a;标准盒子模型、IE盒子模型 盒模型都是由四个部分组成的: 分别是margin、border、padding和content。 标准盒模型和IE盒模型的区别在于设置width和height时&#xff0c;所对应的范围不同&#…

csproj文件常用设置及C#注释常用写法

csproj文件常用设置及C#注释常用写法 .NET新版SDK风格的csproj文件 打开可为空警告 <PropertyGroup><Nullable>enable</Nullable> </PropertyGroup>启动全局引用using 下图没有任何using&#xff0c;仍然不报错 <PropertyGroup><Implicit…

扑克牌最优组合算法题(动态规划+备忘录+快排)

题目如下 题目&#xff1a; 设一副包含点数从A到K,四种花色的52张牌, 将 三张及以上同点数不同花色的牌组 或者三张以及上的同花顺称为 组合, 求出给定一副20张以内的牌中,所能形成的最优的组合列表(最优即组合点数累加最大) 代码要运行正确而且要做输入处理&#xff0c;输出格…

Uncaught TypeError: Illegal invocation

使用console.time报错 console.time将在当前对象(即支持)的上下文中执行&#xff0c;发现一些老的chrome版本中&#xff0c;上下文可能有问题. 解决&#xff1a; 可以使用 console.time.call(window,1111)

关于Easy Mesh

随着网络技术的高速发展&#xff0c;家庭宽带进入了千兆时代&#xff0c;AR&#xff0c;VR&#xff0c;8K影视等高品质产品和智能家居正以前所未有的速度进入寻常百姓家&#xff0c;由于网络覆盖的问题&#xff0c;给WIFI网络应用带来了更大的考验。 WIFI网络覆盖一般是有四种方…

git下载总是报错:身份认证失败的解决办法

在利用git命令下载代码时&#xff0c;提示输入用户名和密码&#xff0c;但是总是显示身份认证失败&#xff0c;在修改密码后仍然没有解决。于是&#xff0c;换了一种方式&#xff0c;采用SSH。 首先在本地生成ssh-key 在虚拟机中执行命令 ssh-keygen -t rsa -C "github…

不再手动PS,教你如何快速删除图片文字!

可以让你快速从照片中提取和复制任何对象的应用。它可以让你轻松地将照片中的物品、人物、动物、文字等放到其他应用中&#xff0c;比如Photoshop、PowerPoint、Word等。ClipDrop还有一个很有用的功能&#xff0c;就是可以去除照片中的文字&#xff0c;让你得到一个干净的背景。…

【MySQL】MySQL数据库基础

目录 一、数据库概念 二、数据库基本使用 1、链接服务器 2、服务器管理 3、使用案例 3.1、创建数据库 3.2、使用数据库 4、服务器&#xff0c;数据库&#xff0c;表关系 三、MySQL架构 四、SQL分类 五、存储引擎 1、存储引擎概念 2、查看存储引擎 3、存储引擎对比…

【强化学习】常用算法之一 “A3C”

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…