pcl依赖及安装

1.一般不用到qt或vtk显示点云
###pcl通过ppa安装步骤
//这样安装,目前默认安装的是pcl1.7.2

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pclsudo apt-get updatesudo apt install libpcl-dev

##pcl1.8快捷安装(没有试过)

sudo dpkg -i /home/cbc/下载/PCL-1.8.0-Linux.deb

参考
https://larrylisky.com/2016/11/03/point-cloud-library-on-ubuntu-16-04-lts/

2.正文:为了能用上qt界面交互

###pcl1.8通过源码安装(目的是为了在qt里用pcl)

sudo apt-get update

#boost

sudo apt-get install libboost-all-dev

#eigen3

sudo apt-get install libeigen3-dev

#flann

sudo apt-get install libflann1.8 libflann-dev

#其他一些小的依赖项

sudo apt-get install git build-essential linux-libc-devsudo apt-get install cmake cmake-guisudo apt-get install libusb-1.0-0-dev libusb-dev libudev-devsudo apt-get install libqhull* libgtest-devsudo apt-get install libgl1-mesa-devsudo apt-get install libxt-devsudo apt-get install freeglut3-dev pkg-configsudo apt-get install libxmu-dev libxi-devsudo apt-get install mpi-default-dev openmpi-bin openmpi-commonsudo apt-get install mono-complete

//一般默认装以下vtk和qt,但是运行qt里pcl的示例程序行不通,所以不装这些,从源码安装qt和vtk

//sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre//sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev

#Qt

chmod +x /home/cbc/下载/qt-opensource-linux-x64-5.9.2.runsudo ./home/cbc/下载/qt-opensource-linux-x64-5.9.2.run

安装在home下面

#vtk7(将qt5编译进去)​​​​​​​​​​​​​​

git clone git://vtk.org/VTK.git//在home目录下解压缩mkdir VTK-build&&cd VTK-build//在home目录下cmake -DVTK_QT_VERSION:STRING=5 -DQT_QMAKE_EXECUTABLE:PATH=/home/cbc/Qt5.9.2/5.9.2/gcc_64/bin/qmake -DVTK_Group_Qt:BOOL=ON -DCMAKE_PREFIX_PATH:PATH=/home/cbc/Qt5.9.2/5.9.2/gcc_64/lib/cmake -DBUILD_SHARED_LIBS:BOOL=ON /home/cbc/VTK-7.1.1makesudo make install

#pcl源码

pcl下载地址​​​​​​​

cd /home/cbc/pcl-1.8.1 && mkdir build && cd buildcmake -DCMAKE_BUILD_TYPE=Release ..makesudo make install

QtDesigner配置QVTKWidget插件

把/usr/local/plugins/designer/libQVTKWidgetPlugin.so

拷贝到

/home/chen/QT/Qt5.8.0/Tools/QtCreator/lib/Qt/plugins/designer/

参考
https://www.vtk.org/Wiki/VTK/Building/Linux
http://blog.csdn.net/wanguku/article/details/60476469?readlog

  • opencv3.2&opencv3.2-contribute

源码下载,解压缩放在home下​​​​​​​

cd /home/cbc/opencv-3.2.0rm -rf buildmkdir build&&cd build

//编译两个包,指明安装位置,默认为/usr/local,指明opencv3.2-contribute模块位置

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=/home/cbc/opencv_contrib-3.2.0/modules/ ..

//只编译opencv3.2

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local

//make&安装​​​​​​​

make
sudo make install

#如果没有安装在默认/usr/local,比如安装在/usr/local/opencv320,则任何程序调用opencv库,都要在CMakeLists.txt里设置OpenCVConfig.cmake所在目录

set(OpenCV_DIR "/usr/local/opencv320/share/OpenCV/")

4. 在QT中配置应用:

a. "project.pro"配置文件中添加如下路径信息:

code snippet widget

安装位置、库的链接路径都是根据自己的配置

b. 测试代码:实际为pcl库文件中的:pcl/doc/tutorials/content/sources/cloud_viewer路径下的demo

#include <iostream>
#include <pcl/visualization/cloud_viewer.h>
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
using namespace std;int user_data;void
viewerOneOff (pcl::visualization::PCLVisualizer& viewer)
{viewer.setBackgroundColor (1.0, 0.5, 1.0);pcl::PointXYZ o;o.x = 1.0;o.y = 0;o.z = 0;viewer.addSphere (o, 0.25, "sphere", 0);std::cout << "i only run once" << std::endl;}void
viewerPsycho (pcl::visualization::PCLVisualizer& viewer)
{static unsigned count = 0;std::stringstream ss;ss << "Once per viewer loop: " << count++;viewer.removeShape ("text", 0);viewer.addText (ss.str(), 200, 300, "text", 0);//FIXME: possible race condition here:user_data++;
}int
main ()
{pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGBA>);pcl::io::loadPCDFile ("five_people.pcd", *cloud);pcl::visualization::CloudViewer viewer("Cloud Viewer");//blocks until the cloud is actually renderedviewer.showCloud(cloud);//use the following functions to get access to the underlying more advanced/powerful//PCLVisualizer//This will only get called onceviewer.runOnVisualizationThreadOnce (viewerOneOff);//This will get called once per visualization iterationviewer.runOnVisualizationThread (viewerPsycho);while (!viewer.wasStopped ()){//you can also do cool processing here//FIXME: Note that this is running in a separate thread from viewerPsycho//and you should guard against race conditions yourself...user_data++;}return 0;
}

测试效果:

注意: 在刚开始运行PCL官网上的demo时,也是出现PCD文件正确,数据读取正确的情况下,但是,Demo的图像就是(红/黑/蓝)三种颜色的图块;但是,后来无意中拖动鼠标,发现显示的区域不对,导致产生不显示的错觉

Ubuntu下Qt中使用pcl库相关推荐

  1. qt程序在Linux下字体乱了,解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!...

    本文解决的主要是界面程序编译运行后无法显示中文的问题,如果在creater 中无法输入中文,下载个IBus或者搜狗之类的中文输入法即可解决! 首先说乱码问题,这个很好解决: 如果是在linux下打开W ...

  2. Linux下 QT中 log4cplus 最基本配置及使用

    Linux下 QT中 log4cplus 最基本配置及使用 鉴于网上很多使用方法不是很详细,对小白不友好,并且以此作为记录,方便下次配置. 本文是基于我自己下载的版本写的,请各位根据自己下载的版本更改 ...

  3. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

  4. ubuntu下KDvelop中怎么显示行号

    ubuntu下KDvelop中怎么显示行号: 亲测好使:为节省时间只做资源的搬运工 https://blog.csdn.net/weixin_42927959/article/category/792 ...

  5. linux下静态编译mupdf,在Qt中调用Mupdf库进行pdf显示

    2018.5.10 更新内存对齐说明 感谢知乎网友@孤独子狮指出QImage处需要考虑内存对齐的问题.因为本人缺乏跨平台.图形库开发经验,所以在调试成功后就没有深入探究. 主要修改了QImage的构造 ...

  6. ubuntu下qt运行报错 /usr/bin/ld: cannot find -lGL

    问题描述 在Ubuntu下运行Qt程序报错: /usr/bin/ld: cannot find -lGL collect2: error: ld returned 1 exit status 解决方案 ...

  7. Ubuntu下QT的安装详细教程

    本文转自:http://blog.chinaunix.net/uid-7945126-id-4987195.html 经测试完美解决 --------------------------------- ...

  8. linux添加Mib库,如何在ubuntu下使snmp支持mibs库字符串形式

    ubuntu下使用snmp,我们可以使用mibs库的OID来查询我们想要得到的结果,例如: snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.25.2.2 ...

  9. (一) Ubuntu下Qt引入FFmpeg

    目录 目录 前言 概述 Qt引入FFmpeg 总结 链接地址 前言 已经在linux下编译安装好了FFmpeg,同时也简单的编译了开发板版本的FFmpeg.但是看网上讲,还有许多东西没有加入的FFmp ...

最新文章

  1. hdu 5099 Comparison of Android versions 枚举题意
  2. Amazon S3数据存储
  3. Nginx 和 Zuul 的区别
  4. cordova项目适配iPhoneX
  5. Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
  6. mysql 日志文件 自动_教你自动恢复MySQL数据库的日志文件
  7. android非空验证,Android 非空格式验证框架
  8. properties文件_spring boot 配置文件yaml和properties
  9. mysql 交互式和非交互式操作(interactive_timeout和wait_timeout)
  10. jenkins + maven + nexus + [ svn 或 GitLab 或 GitHub ]
  11. 软考 信息安全工程师(第二版)笔记-第1章 网络信息安全概述
  12. 21天学通C语言-学习笔记(8)
  13. mysql数据库应用试卷代号3868_实用数据库期末试卷B卷答题纸
  14. 【视频+图文 直播贴】2014.9.9 Apple苹果发布会
  15. 【代老婆发】你是中介,你姐是黑中介,你们全家都是我爱我家的中介
  16. 2023阿里云服务器租用价格CPU/内存/带宽/系统盘收费标准
  17. 直方图和柱状图的区别有哪些
  18. HTMLCSS常用英语词汇
  19. 张鑫溢:9.19黄金行情预测行情趋势分析及黄金原油独家操作建议指导.
  20. 拼团活动的业务测试点

热门文章

  1. 货拉拉携手神策数据,数据赋能企业,实现多元颠覆式创新
  2. PPT 下载 | 桑文锋:数据化建设的时代机遇
  3. PAT Broken Keyboard (20)
  4. 169. Majority Element
  5. 类似wordpress的网站模板
  6. Perl中use、require的用法和区别
  7. 6.LibSVM核函数
  8. 循环节模板 NOJ427Number Sequence
  9. Helm V3 新版本发布
  10. vue组件开发脚手架(vue-sfc-rollup),开发组件并发布至npm的利器