Ubuntu16.04下安装PCL及python-pcl

本文详述了在Ubuntu16.04上安装PCL1.8.0和python-pcl的步骤,包括源码编译、环境配置和问题解决。在安装过程中,遇到了libpcl_registration.so.1.8找不到的问题,通过设置环境变量成功解决。

PCL

这里介绍的是下载PCL1.8.0的源码编译安装的方法,经过测试没有与python-pcl发生冲突,可以正常使用。

安装

安装oracle-java8-jdk:

sudo add-apt-repository -y ppa:webupd8team/java && sudo apt update && sudo apt -y install oracle-java8-installer

安装通用的库:

sudo apt -y install g++ cmake cmake-gui doxygen mpi-default-dev openmpi-bin openmpi-common libusb-1.0-0-dev libqhull* libusb-dev libgtest-dev git-core freeglut3-dev pkg-config build-essential libxmu-dev libxi-dev libphonon-dev libphonon-dev phonon-backend-gstreamer phonon-backend-vlc graphviz mono-complete qt-sdk libflann-dev

在Ubuntu16.04环境下安装PCL1.8:

sudo apt -y install libflann1.8 libboost1.58-all-dev

cd ~/Downloads
wget http://launchpadlibrarian.net/209530212/libeigen3-dev_3.2.5-4_all.deb
sudo dpkg -i libeigen3-dev_3.2.5-4_all.deb
sudo apt-mark hold libeigen3-dev

wget http://www.vtk.org/files/release/7.1/VTK-7.1.0.tar.gz
tar -xf VTK-7.1.0.tar.gz
cd VTK-7.1.0 && mkdir build && cd build
cmake ..
make                                                                   
sudo make install

cd ~/Downloads
wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.tar.gz
tar -xf pcl-1.8.0.tar.gz
cd pcl-pcl-1.8.0 && mkdir build && cd build
cmake ..
make
sudo make install

cd ~/Downloads
rm libeigen3-dev_3.2.5-4_all.deb VTK-7.1.0.tar.gz pcl-1.8.0.tar.gz
sudo rm -r VTK-7.1.0 pcl-pcl-1.8.0
测试
cd ~
mkdir pcl-test && cd pcl-test

创建CMakeLists.txt,文件内容:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(pcl-test)
find_package(PCL 1.2 REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable(pcl-test main.cpp)
target_link_libraries(pcl-test ${PCL_LIBRARIES})

SET(COMPILE_FLAGS "-std=c++11")
add_definitions(${COMPILE_FLAGS})

创建测试的C++文件 main.cpp:

#include <iostream>

int main() {
    std::cout << "hello, world!" << std::endl;
    return (0);
}

编译:

mkdir build && cd build
cmake ..
make

运行:

./pcl-test

输出:

hello, world!

安装成功

python-pcl

安装

从github上获取python-pcl

git clone https://github.com/strawlab/python-pcl.git

安装cython, numpy

pip install --upgrade pip
pip install cython==0.25.2
pip install numpy

安装python-pcl

cd python-pcl
python setup.py build_ext -i
python setup.py install
测试

这时候就可以在python里面用import pcl 测试

~$ python
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pcl
>>> 

这样就说明成功import, python-pcl安装成功。

遇到的问题

然而在我安装的时候并不能顺利import, 报错 ImportError: libpcl_registration.so.1.8: cannot open shared object file: No such file or directory

查了 libpcl_registration.so.1.8 这个文件, 在 /usr/local/lib 路径下

所以将它设为环境变量, import的时候就可以找到它了

vi ~/.bash_profile

在 .bash_profile 文件中写入

LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH

最后再在终端中输入

sudo ldconfig

就可以成功import啦!

参考

PCL的安装:https://askubuntu.com/questions/916260/how-to-install-point-cloud-library-v1-8-pcl-1-8-0-on-ubuntu-16-04-2-lts-for

python-pcl的github主页:https://github.com/strawlab/python-pcl

设置环境变量:https://stackoverflow.com/questions/13428910/how-to-set-the-environmental-variable-ld-library-path-in-linux

评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值