当前位置: 首页 > news >正文

基于QVTKOpenGLNativeWidget的三维点云可视化实现

测试结果展示

测试环境配置

操作系统:Windows 10 x64

CPU:Intel core i7-10750H处理器 32G

GPU:NVIDIA RTX2070 8G GDDR6 独立显卡

QT编译套件版本:QT5.15.2 msvc2019_64

工程代码开发平台:Visual Studio 2019(VS2019)

引入库版本

PCL-1.12.1_x64_release

PDAL-2.4.3-X64_release

VTK-9.1.0_x64_release(包含QVTK)

配置说明

依据参考资料[3]下载编译VTK后,将其生成的文件复制到PCL中的./3rdParty/VTK下,其中,复制过程选择“跳过重名文件”。然后,在项目文件中重新配置“链接器->输入->附加依赖项”。

注意事项

1. libLAS库版本与LAS文件版本存在不兼容的情况,而PDAL对多版本的LAS文件存取较为稳定;

2. 部分报错会来源于头文件链接顺序,例如以下顺序会产生较多报错:
#include <pdal/PointTable.hpp>
#include <pdal/PointView.hpp>
#include <pdal/io/LasReader.hpp>
#include <pcl/io/pcd_io.h>
#include <pcl/io/ply_io.h>

修正顺序后顺利通过编译:

#include <pcl/io/pcd_io.h>
#include <pcl/io/ply_io.h>
#include <pdal/PointTable.hpp>
#include <pdal/PointView.hpp>
#include <pdal/io/LasReader.hpp>

数据来源:

PCC Content Database – MPEG Point Cloud Compression (mpeg-pcc.org)

/*1*/ Maja Krivokuća, Philip A. Chou, and Patrick Savill, “8i Voxelized Surface Light Field (8iVSLF) Dataset,” ISO/IEC JTC1/SC29 WG11 (MPEG) input document m42914, Ljubljana, July 2018.

/*2*/ 常见的点云下载地址/点云集合/点云库30个_点云数据下载-CSDN博客

/*3*/ 点云数据集汇总整理(匠心之作,附官方下载地址)-CSDN博客

参考网络资料:

[1] 六、在Qt下通过PCL在VTQK9.3.0下显示自己的pcd点云文件_qt pcl vtk-CSDN博客

[2] Win11+VS2022配置编译VTK9.1_vtk vs2022 配置-CSDN博客

[3] VTK源码编译安装记录与教程(VS2019+QT5.15.2+PCL1.12.1+VTK9.1.0配置,超详细)_qt_AI大龙虾-GitCode 开源社区 (csdn.net)

[4] 点云渲染及可视化 (pcl::visualization)_pcl::visualization::pointcloudcolorhandlergenericf-CSDN博客

[5] PCL学习之点云可视化:坐标字段、随机、单一颜色、法向量 - Gesündeste - 博客园 (cnblogs.com)

开发文档

Point Cloud Library (PCL): Module visualization (pointclouds.org)

examples.vtk.org/site/Cxx/

Qt Examples And Tutorials | Qt 5.15

https://github.com/nmwsharp/happly

实践过程中的报错问题解决方法:

/**1**/ std::max,std::min错误:应输入标识符的解决方法_std::min 应输入标识符-CSDN博客

/**2**/ winsock2.h与ws2def.h等文件大量报错相关问题解决方法-CSDN博客

        winsock2.hwindows.h的包含顺序很关键。在Windows平台上,windows.h可能会包含一些与winsock相关的旧版本定义,而winsock2.h是更新的Windows Sockets API 的头文件。因此,需确保在包含任何Qt头文件或其它可能间接包含windows.h的头文件之前,先包含winsock2.hws2tcpip.h,如下所示:

#include<winsock2.h>

#include<ws2tcpip.h>

#include<ws2def.h>

#include<windows.h>


文章转载自:

http://pxagKGtc.kfLbf.cn
http://J9hFdmsd.kfLbf.cn
http://C7QGzw5H.kfLbf.cn
http://kcBLTlHD.kfLbf.cn
http://uR9r4dWW.kfLbf.cn
http://6LeVIPAa.kfLbf.cn
http://S6YCTjcH.kfLbf.cn
http://wl9WKTje.kfLbf.cn
http://zWNAKIeX.kfLbf.cn
http://FeGw9N29.kfLbf.cn
http://pBE0YGWn.kfLbf.cn
http://Unm7XNGm.kfLbf.cn
http://snzHCX09.kfLbf.cn
http://hkaEHrOb.kfLbf.cn
http://6qFbPOI6.kfLbf.cn
http://SUrwSkzB.kfLbf.cn
http://MSa19eCT.kfLbf.cn
http://X62IYeEW.kfLbf.cn
http://FysPTLZy.kfLbf.cn
http://dBMFyYms.kfLbf.cn
http://iLZClo2L.kfLbf.cn
http://48YBUzSr.kfLbf.cn
http://HZQG5Gcy.kfLbf.cn
http://AeBdwPjs.kfLbf.cn
http://ru2u87kx.kfLbf.cn
http://bDPpc3T2.kfLbf.cn
http://9fDwuy9D.kfLbf.cn
http://hSKkXUkx.kfLbf.cn
http://YVUvfXyn.kfLbf.cn
http://G2q7qkIo.kfLbf.cn
http://www.dtcms.com/a/379765.html

相关文章:

  • Qwen3 中注意力机制实现
  • 基于librdkafa C++客户端生产者发送数据失败问题处理#2
  • Maya绑定:渲染编辑器Hypershade简单使用,给小球添加材质纹理
  • 前端基础 —— A / HTML
  • 线性代数 | 行列式与矩阵区别
  • Redis 核心数据结构:String 类型深度解析与 C++ 实战
  • 【Linux】面试常考!Linux 进程核心考点:写时拷贝优化原理 + 进程等待实战,一篇理清进程一生
  • 根据当前门店经纬度,求出1km内的门店
  • java类冲突
  • 线上的Python服务如何部署?
  • ​​Cinema 4D 2026 核心亮点:AI智能驱动 + 无缝实时渲染​
  • 【Pywinauto库】10.7 pywinauto.controls.uia_controls控件
  • Next.js 字体优化:使用 `next/font` 告别布局偏移和性能瓶颈
  • 腾讯滑块---Js逆向酷狗音乐登入
  • 机器学习算法概述
  • zzz‘sJavaweb知识点总结
  • 【STL源码剖析】二叉世界的平衡:从BST 到 AVL-tree 和 RB-tree 的插入逻辑
  • Altium Designer使用精通教程 第四章(PCB封装库绘制)
  • 基于多模态与主动学习的车船飞机图像识别系统研究与应用技术方案
  • cesium的3dtiles模型矫正工具
  • Win7环境中离线安装Visual Studio 2017的相关问题
  • 解决 Typora 0.11.18 版本过期问题
  • 基于R语言机器学习方法在生态经济学领域中的实践技术应用;十大原理、熵权法、随机森林、神经网络、因果推断全解析
  • 数据结构:并查集
  • Unity Addressable System 本地服务器功能验证
  • 用简单的日期类巩固C++类与对象基本知识
  • python+springboot+uniapp微信小程序题库系统 在线答题 题目分类 错题本管理 学习记录查询系统
  • DeepSeek v3.1和DeepSeek R1在编程风格方面的区别
  • kafka启动小脚本
  • AI-调查研究-76-具身智能 当机器人走进生活:具身智能对就业与社会结构的深远影响