Compile PCL + OpenCV + librealsense2
Summary
So in this post, i’ll compile PCL + OpenCV + librealsense2 from source.
Requirement
- OS : Ubuntu 18.04
- Opencv version : 4.1.0
- Cuda : 10.1
- Python : 3.6, Anaconda
- Realsense D435
- librealsense : 2.24
- PCL : 1.9
Procedure
OpenCV 4.1.0 with cuda
Please see Compile OpenCV from source for Ubuntu with Cuda, Atlas
PCL 1.9
- clone the opencv-4.1.0_cu10 cu10 into pcl environment
conda create --name pcl --clone opencv-4.1.0_cu10
conda activate pcl
# At August 2019, i can not access the below respo
# ppa:v-launchpad-jochen-sprickerhof-de/pcl
# so i need to compile pcl from source
## pcl dependencies
### others
sudo apt -y install libflann libboost-all-dev libeigen3-dev
### vtk 8.2.0
wget https://www.vtk.org/files/release/8.2/VTK-8.2.0.tar.gz
tar xfv VTK-8.2.0.tar.gz
cd VTK-8.2.0/
mkdir build
cd build/
cmake ..
make -j5
sudo make install
### pcl
git clone https://github.com/PointCloudLibrary/pcl
cd pcl/
mkdir build
cd build/
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
cmake ..
sudo make install
- test pcl
Use the pcl_visualizer as test code. CMakeLists.txt and source code both are available. If we want to use pcl with Eclipse, we should follow Using PCL with Eclipse . There’s other example at turorials
librealsense2 + python wrapper + pcl
# activate python env
conda activate pcl
# librealsense 2 + python wrapper
cmake ../ -DBUILD_PYTHON_BINDINGS:bool=true -DPYTHON_EXECUTABLE=$(which python) -DBUILD_PCL_EXAMPLES=true
make -j4
sudo make install
# copy librealsense2 to python environment
cp wrappers/python/pyrealsense2.cpython-37m-x86_64-linux-gnu.so /home/jil/opt/miniconda2/envs/pcl/lib/python3.7/site-packages/pyrealsense2.so
- test librealsense2 + python wrapper
i use the demo script at: python-tutorial-1-depth.py . The depth’s raw output will be printout in the console. For example :
WWWWWWX: :WWWWWWWhn. XW
hWBn. nXWBn. nXXWWWWWWWWWXhn. XW.
n. hXXXBB. .hWWWWWWWWWWWWBh: BW
::nh. nXWWWWWWWWWWWWWWBhn. BB.
. .: BWWWWWWWWWWWWWWWWWWWWBh:
.nn.nnXWXWWWWWWWWWWWWWWWWWWWWWWX:
..nn XWXhWWWWWWWWWWWWWWWWWWWWWWWWBnnn.
nhh. XWWWWWWWWXWXWWWWWWWWWWWWWWWWWWWXB:
n:hhnh. :hWWWWWWWXWWWWXXhWWWWWWWWWWWWWWWXBh:nnX
:Bn hBhXXWWWWWWWWWWWBhXWWWXXBhBX:hBXWWn .n:
hn.BBWWWWWWWWWWWWWWWWWWWWXh:. :nn.::
. nWhhBWWWWWXXWWWWWWWWWWWWXnhnhXXn: h
:. hWBWBXWWWWWWWWWWWWWWWWWWWWWWWWWWWWXh:.
:B hhnBnhBXWWWWWWWWWWhWWWWXBBhBXBhh:B
Xh .. nnn:nBWXBWWWWWWWWBWBWWWWX:n: . :
. h. . Bh . ..hWWWWWW.BWWWWXXnBXWn: :
Wn .: ::hn:::n:hWWWWWWWWBWWWWWWWhWWWBhhW
:. n. :hh:::hXXWWWWWWWWWWWWWWWWWWWWWWWW
::XWX. .nnnn .XXBXXWWWXWWWWWWWWWWWWWWWW
nWWBh. .n:h.nWWWWWWXWWWWWWWWWWWWWWW
.nn. hhXWXWWXWWXXBWWWWWWWWWW
... :hnnnhWWWBBXWWWWWW
nn: nhXWWXWXXXXWWWWWWWWWWWXhBXWWXWXXXX
. .nBXWWWXWWWWWWWWWWh:BWWWXnW
:WWWWWWWWWWWWWWWWWWWWWXn. XX
.WWWWWWWWWWWWWWWWWWWWWWWWWXn.. WX.
nWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXh: WW.
nWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXhn. BB
.....
There’re other examples at librealsense python example
- test librealsense2 + pcl
Run the following command
rs-pcl
There’re also several example at librealsen pcl.
Reference
- compile pcl ubuntu 16.04
- compile pcl from source
- pcl turorials
- librealsense python wrapper
- librealsense pcl wrapper
End
Leave a comment