点云处理及三维重建软件(Point Cloud Viewer, PCV)的环境搭建详细教程

本文详细指导了PCV环境的搭建过程,包括安装PCL、VTK、CMAKE、Qt5.13.2和VisualStudio2017,以及如何使用Cmake构建工程、解决DLL问题和关闭VTK警告。旨在帮助初学者快速上手并解决常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有同学在搭建PCV环境时遇到了一些问题来向我求助,确实这个工程涉及面比较广:PCL+QT+CPP+VS+CMAKE,所以一些没接触过相关工具的同学一时不知从何入手,特此把环境搭建教程再详细化,祝同学们都能跑通PCV。评论区里已经有同学跑通了该项目,作为一个开源爱好者,这一点足以让人欣慰。另外,本项目早已在Github开源,目的是为了让同学们少走弯路,毕竟国内相关免费软件和教程少之又少。既然是开源,所以是免费的,遇到技术问题可以找我交流讨论,本人看到了就会回复。

一,准备工作:安装相关工具库

下表为本软件所采用的技术方案,读者如果想要跑通本工程,建议参考下表:

序号技术采用方案
1编程语言C++ 11
2点云工具库PCL 1.9.1
3可视化工具库VTK 8.1
4GUI框架Qt 5.13.2
5IDE(开发环境)VS2017+Qt Creator
6编译器MSVC 2017
7运行环境Windows / Linux / Mac OS

1 安装PCL 1.9.1 和 VTK 8.1

安装PCL 1.9.1,与之对应的VTK版本为VTK 8.1 。为了便于读者复现,我上传到了优快云,该项目工程中已包含了VTK 8.1,读者可自行获取。该工具是免费的,不需要积分,大家放心下载使用:
在这里插入图片描述
这个VTK 8.1是我自己下载的,如果读者自己安装了PCL1.9.1,可以把这个目录拷过去:
在这里插入图片描述
这个dll也有用,能够去掉一些warning:
在这里插入图片描述

2 安装 Cmake

直接去CMAKE官网下载最新版
在这里插入图片描述
如果不放心,也可以用作者当前使用的版本:3.21.3
在这里插入图片描述

3 安装 Qt 5.13.2

安装教程请自行搜索,我选择了以下组件,主要是用QtCreator来搭建图形界面:
在这里插入图片描述

4 安装 Visual Studio 2017

安装教程也请自行搜索,本工程主要是使用Visual Studio 2017的编译器来构建工程。

5 检查和设置环境变量

安装上述工具后,需要检查下这些工具的环境变量有没有设置好:
在这里插入图片描述
在这里插入图片描述

二,构建PCV工程

1 从Github上获取源码

GitHub地址:point-cloud-viewer
GitCode地址:point-cloud-viewer

比如我保存在电脑的E盘:E:\QtProject\point-cloud-viewer-master
在这里插入图片描述

1 使用Cmake来构建工程

本项目使用Cmake来构建工程,首先设置源码路径和创建一个工程路径:
在这里插入图片描述
然后Cmake环境变量检查:
在这里插入图片描述
选择编译器VS2017 X64
在这里插入图片描述

在这里插入图片描述

点击generate:
在这里插入图片描述
在这里插入图片描述
至此PCV工程就构建完成了。可以在工程输出目录找到生成了VS工程的入口,如果安装成功了VS,直接双击打开:

在这里插入图片描述

2 使用VS 编写code并编译执行

构建完成后,在输出文件夹里有PointCloudViewer.sln 文件,使用VS打开即可
在这里插入图片描述
在这里插入图片描述

如果出现无法启动程序的问题,参考博文:

使用CMake+Visual Studio编译生成的项目出现无法启动程序的问题解决办法

将PointCloudViewer设为启动项目:

在这里插入图片描述
点击调试按钮开始启动:
在这里插入图片描述
总共会有三个窗口跳出来,这是正常的:
在这里插入图片描述
至此PCV就成功跑起来啦!

也可以直接在编译输出目录打开exe文件:
在这里插入图片描述

3 使用QtCreator或者VS进行二次开发

使用QtCreator打开源码的CMakeLists.txt
在这里插入图片描述

在这里插入图片描述
打开cpp文件编辑源码:
在这里插入图片描述
打开ui文件编辑界面:
在这里插入图片描述

在这里插入图片描述
或者也可以直接使用VS进行开发:
在这里插入图片描述
具体使用哪种工具,看读者的喜好。

三,补充说明

1 缺少DLL

有同学提到了复现过程中出现了缺少DLL的问题(可能是因为环境变量没设置好),参考评论区一位同学的解决方案:

  1. Cmake生成build后用vs打开
  2. 设置第二个项目为启动项
  3. 在Debug x64的模式下编译。
  4. 如果出现缺少一些dll,需要PCL191\bin目录下、PCL191\3rdParty\VTK2\bin目录下、Qt5.13.2\5.13.2\msvc2017_64\bin目录下的一些dll文件,需要把这些文件拷贝到build文件下的Debug目录下才可以正常运行。

在这里插入图片描述
实在不行,暴力一点,缺啥补啥,或者把所有DLL都拷贝到exe所在目录

2 关闭VTK warning 窗口

网上有教程,这里不再赘述。

版本适配问题

如果读者不是PCL1.9.1+VTK8.1的组合,那可能需要读者自己去摸索了,建议先用这个配置跑通,再升级工具版本。

### Qt 环境下的点云处理框架 #### QGLViewer 的优势与局限 QGLViewer 是一个基于 OpenGL 的 C++ 类库,专为可视化应用程序设计。其内置了强大的交互功能,如旋转、平移和缩放视图等功能,非常适合快速构建点云显示界面[^3]。 ```cpp #include <QGLViewer/qglviewer.h> class PointCloudViewer : public QGLViewer { protected: virtual void draw() override; }; ``` 尽管如此,QGLViewer 基于传统的OpenGL管线,在大规模数据集渲染性能方面存在瓶颈,可能需要额外的优化措施来提升效率。 #### PCL 和 QT 结合的优势 PCL (Point Cloud Library) 提供了大量的点云处理算法,涵盖了从基础操作到高级分析的各种需求。通过将 PCL 与 QT 集成,不仅可以利用前者丰富的算法定制化开发各种点云处理工具,还能借助后者优秀的 GUI 设计能力创建直观易用的应用程序界面[^2]。 ```cpp // Example of integrating PCL with a simple viewer using VTK and QT pcl::visualization::PCLVisualizer* viewer = new pcl::visualization::PCLVisualizer ("3D Viewer"); viewer->setBackgroundColor (0, 0, 0); viewer->addPointCloud<pcl::PointXYZ> (cloud, "sample cloud"); while (!viewer->wasStopped ()) { // Display the visualiser until 'q' is pressed. viewer->spinOnce (); } ``` #### 开源项目 PCV 参考价值 PCV(Point Cloud Viewer),作为一款开源的点云处理三维重建软件,实现了多种常见的点云处理功能,包括但不限于点云分割、离群点移除等。该项目不仅提供了完整的代码实现细节,还分享了许多宝贵的经验教训和技术选型建议,对于希望深入了解如何在Qt环境下开展此类工作的开发者来说具有很高的参考价值[^1]。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SOC罗三炮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值