QT5.9.9+PCL1.8.1+VS2017 实现点云可视化界面

研究生上了半年,最近终于感觉有点东西可写了。

今年由于项目需求,导师让做一个点云处理软件用于输电线路工程建设中,然而作为一个电气工程的小白,尚不知点云处理为何物,更没有师兄来指导,只能靠自己摸索,历时10多天,终于能把点云在QT中显示(其实就是把QT5.9.9+PCL1.8.1+VS2017配置好了),这真的是我见过的最难的配置了,所以请大家在配置时加油!!不要放弃,因为真的蛮难的。

做点云处理软件有人用MFC做,有人用QT做,但网上说QT比较简单,但用QT的人没有MFC多,我估量了一下,果断选择更简单的那个。所以我是用QT做点云处理软件,代码是在QT里面写的(用起来感觉和C#也差不多)。

下面主要说说我在配置时踩过的坑。

首先是软件准备:

QT是在清华镜像下载的(比较快):Index of /qt/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

PCL可以在我的百度网盘下载   链接:https://pan.baidu.com/s/1-18J-42e3WlXJtgfoKU0FQ 
提取码:1rk9

VS2017去官网下载就好了。

准备好软件之后,就是漫长的配置过程。

QT的安装还有VS2017的安装就不说了,网上很多博客都有介绍,而且基本就是一直按下一步。

PCL1.8.1的安装我主要参考了这篇博客:VS2017安装PCL1.8.1 - Being_young - 博客园

当然这篇博客也讲了如何为VS2017配置PCL1.8.1,如果你想在VS中用PCL也可以配置,但对于QT来说用不到,因为代码都是在QT中写的。

我们需要做的是为QT配置PCL,这里我主要参考了这篇博客:Qt 5.10.1 + PCL 1.8.1 环境搭建_zhou_x11的博客-CSDN博客_qt配置pcl

所谓配置,其实就是修改QT的.pro文件,上述博客还讲了VTK的编译,这是因为PCL中原有的VTK没有添加对QT的支持,比如如果你不用编译后的VTK替代原有VTK,你就没法使用QVTKWidget这个控件(这个控件就是用来进行点云显示的,当然网上也有用其他控件做的,我因为没用,所以就不说了)。

按照上述博客一步一步来,就可以完成配置,下面主要说说我踩过的坑。

1.前面说到,我是用QT做这个点云处理软件,但其实是可以在两个平台里用QT,第一个当然就是QT,第二个就是VS2017,只需要你在VS2017中装上QT的插件(这个如何做,我把我的QT电子书推荐一波吧,具体在1.5节,链接:https://pan.baidu.com/s/1nce_A4rTlQv__iA43q2vgw 
提取码:ycao),网上这两种做法都有,我也是都尝试了一遍,结果是VS中失败,QT中成功了。VS中失败情形是这样的:当我使用QVTKWidget控件时,总是报QVTKWidget的相关函数无法识别的错误,而我不知如何解决,所以放弃了。很可惜错误截图被我搞丢了,不能让各位大佬帮我解决了。另外,我觉得QT中的配置要比VS中的配置简单的多。

2.在QT中做点云显示界面时,网上用的最多的是QVTKWidget,要想用这个控件,需要先编译VTK,然后要把QVTKWidgetPlugin.dll和QVTKWidgetPlugin.lib放到QTDesigner目录下,但我这样做之后,QTCreator中还是没有QVTKWidget这个控件,这是因为QTCreator是32位的,而我重新编译VTK得到的QVTKWidgetPlugin.dll是64位的,无法读取,我采取的方法是将QT中的widget提升为QVTKWidget,这个也是有网上的博客介绍。

3.最后一个坑是我刚开始显示点云时,竟然一团漆黑,什么都没有,后来才发现原来是因为点云是黑色的,而背景也是黑色的。当我把背景改成绿色,就能看到黑色的点云,真的感觉很傻。。还有有时也不能显示点云,需要在点云显示界面按一下键盘上的R键方能显示出来。

当把坑都踩过后,就可以愉快的写代码了,我今天做了一天,做好的点云界面如下所示:

实现的功能就是可以从六个视角看点云,还有查看点云的一些简单信息。

也是将我的代码上传一下:HanV1.0.rar_pcl1.81联合qt5.9.9-C++代码类资源-CSDN下载

我也是从一个小白的角度讲述我的入坑历程,中间可能会有许多陈述不准确的地方,欢迎各位大佬与我交流。QQ:1826380364.

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值