by WangYC
cmake、opencv、boost配置略(ububtu18直接apt安装即可)
前言
本文利用pcl对rs获取的深度信息进行点云化并实时显示,整个过程耗时较多,仅对深度信息进行处理生成点云0.6fps。
除去pcl外,也可利用OpenGL进行上述操作(官方样例中即采用此方式)
1 realsense开发环境配置
sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic main" -u
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils
sudo apt-get install librealsense2-dev
ps:以上仅为rs开发环境搭建,如需要请到GH下载官方sdk:
https://github.com/IntelRealSense/librealsense
在/librealsense/wrappers/pcl/中有现成的显示一帧率的demo,采用OpenGL与pcl结合的思路。
2 pcl安装
point cloud library
2.1 依赖安装
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre
2.2 pcl编译安装
git clone https://github.com/PointCloudLibrary/pcl.git
如果网络原因受限可以挂梯子下载zip再解压是一样的。
解压后进入目录,创建release文件夹并且cmake。
(ps:文件夹的名字必须是release)
cd pcl
mkdir release
cd release
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON \
-DCMAKE_INSTALL_PREFIX=/usr ..
make -j2
过程较为长久,着急的话建议先装着下面的,不着急的话可以休息一会。
sudo make install
2.3测试效果
pcl_test.cpp
#include <iostream>
#include <pcl/common/common_headers.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/console/parse.h>
int main(int argc, char **argv